2010-05-07 141 views
3

Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnectW)')Django-pyodbc Linux上的SQL Server/freetds服务器连接问题

我正在从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吗? (我将如何格式化?)

+0

我有同样的问题,我的朋友! – 2010-06-02 21:08:14

回答

1

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

+0

我下载了他们的产品,而当我跑: ISQL -v mydsn [用户名] [密码] 我得到了一个错误: [unixODBC数据] [斯软件] [SQL Server驱动程序] [SQL服务器]常规错误:常规错误:无法初始化许可 - 没有发现此产品的有效许可证, – 2010-06-02 21:11:02

+0

您可以发布您的最终配置如何结束? – elias 2012-04-27 14:22:45

+0

对不起@eljunior我不能再访问这个项目。 – reconbot 2012-04-27 18:13:45

0

下面是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...