linux上的Django-pyodbc SQL Server/freetds服务器连接问题
Posted
技术标签:
【中文标题】linux上的Django-pyodbc SQL Server/freetds服务器连接问题【英文标题】:Django-pyodbc SQL Server/freetds server connection problems on linux 【发布时间】: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吗? (我将如何格式化?)
【问题讨论】:
我的朋友也遇到了同样的问题! 【参考方案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...
【讨论】:
以上是关于linux上的Django-pyodbc SQL Server/freetds服务器连接问题的主要内容,如果未能解决你的问题,请参考以下文章
用于 Linux 上 Django 的 SQL Server 2008/2012 后端模块?
linux(debian)系统django配远程连接sqlserver数据库