【问题标题】:django-pyodbc: Data source name not found, and no default driver specifieddjango-pyodbc:未找到数据源名称,并且未指定默认驱动程序
【发布时间】:2014-01-23 16:42:08
【问题描述】:

我正在使用 Ubuntu 12.04 服务器、Django 1.5.5、pyodbc-3.0.7,并且我正在尝试连接到 MSSQL 2005 服务器。我已经通过 pip 安装了 django-pyodbc 并像这样修改了我的 settings.py:

 DATABASES = {
    'default': {
        'ENGINE': 'django_pyodbc', 
        'NAME': 'db_name',                     
        'USER': 'user_name',                    
        'PASSWORD': 'password',              
        'HOST': 'AB131\A_INS01',                  
        'PORT': '',                    
        'OPTIONS': {
           'host_is_server': True
        },
    }
}

但是当我尝试运行 syncdb 时,我得到:

 Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')

Windows机器上安装的ODBC驱动是:

  SQL Server 6.01.7601.17514 SQLSRV32.DLL

我还需要做什么?我需要在 Linux 或 Windows 机器上安装任何其他驱动程序吗?

【问题讨论】:

    标签: pyodbc django-pyodbc


    【解决方案1】:

    您需要在 django-pyodbc 应用服务器上安装驱动程序。

    在 django-pyodbc 项目页面上查看FreeTDS install instructions。

    在install section 中将tsodbc 包替换为tdsodbc。已输入 Issue 130 以更正 wiki 条目。

    或者,这个SO answer 可能有助于填补 django-pyodbc 文档的粗略补丁。

    【讨论】:

    • 我收到 E: Unable to locate package tsodbc
    【解决方案2】:

    第一阶段 $ sudo apt-get install libmdbodbc1

    像这样编辑文件 /etc/odbcinst.ini

    [Microsoft Access Driver (*.mdb)]
    Description = Microsoft Access Driver (*.mdb)
    Driver      = /path/to/file/libmdbodbc.so
    Setup       = /path/to/file/libtdsS.so
    CPTimeout   = 
    CPReuse     = 
    

    还有文件/etc/odbc.ini

    [Microsoft Access Driver (*.mdb)]
    Description         = SQL Server
    Driver              = Microsoft Access Driver (*.mdb)
    Trace               = No
    TraceFile           = /tmp/mssodbc.log
    

    【讨论】:

      猜你喜欢
      • 2018-02-13
      • 1970-01-01
      • 2013-04-23
      • 2014-12-05
      • 1970-01-01
      相关资源
      最近更新 更多