【问题标题】:Django-pyodbc SQL Server/freetds server connection problems on linuxlinux上的Django-pyodbc SQL Server/freetds服务器连接问题
【发布时间】:2010-05-07 21:20:46
【问题描述】:

错误: ('IM002', '[IM002] [unixODBC][驱动管理器]数据源 找不到名称,也没有默认驱动程序 指定 (0) (SQLDriverConnectW)')

我正在从 Windows 开发机器上的开发迁移到生产中的 Linux 机器上,但我遇到了 freetds 驱动程序的问题。据我所知,错误消息意味着它找不到驱动程序。我可以通过 cli 通过 sqsh 和 tsql 进行连接。我已经设置了我的 settings.py。

   'bc2db': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'DataTEST',
        'USER': 'appuser',
        'PASSWORD': 'PASS',
        'HOST': 'bc2.domain.com',
        'options': {
            'driver': 'FreeTDS',
            }
    },

有人对 django 有任何 SQL Server 经验吗?我必须使用dns吗? (我将如何格式化?)

【问题讨论】:

  • 我的朋友也遇到了同样的问题!

标签: sql-server django pyodbc freetds django-pyodbc


【解决方案1】:

我需要使用 freetds 驱动程序支持的supported configurations 之一。我最终将主机信息放在 odbc.ini 中。链接的文档在几页上都有很好的示例。

【讨论】:

  • 我下载了他们的产品,当我运行时:isql -v mydsn [USERNAME] [PASSWORD] 我得到一个错误:[unixODBC][Easysoft][SQL Server Driver][SQL Server]General error :一般错误:无法初始化许可 - 未找到此产品的有效许可,
  • 您能发布一下您的最终配置结果如何吗?
  • 太糟糕了...我今天也在与同样的问题作斗争,但我已经解决了。不管怎么说,还是要谢谢你! :)
【解决方案2】:

这是一个 SQL Server 和 django 的数据库连接示例,以防有人需要,这就是它在 settings.py 中的外观。

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'YourDBname',
        'USER': 'YourUsername',    
        'PASSWORD': '',
        'HOST': '',
        'OPTIONS' : {
            'driver': 'SQL Native Client',
            'dsn': 'YourDSNname',
            'MARS_Connection': True,
        },
    },    
}

更多信息here...

【讨论】:

    猜你喜欢
    • 2011-10-21
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 1970-01-01
    • 2017-09-21
    • 2016-07-14
    • 2020-05-13
    相关资源
    最近更新 更多