4

错误: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (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吗?(我将如何格式化?)

4

2 回答 2

1

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

于 2010-05-10T13:34:40.917 回答
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,
        },
    },    
}

更多信息在这里...

于 2012-12-10T09:38:37.750 回答