我很难通过python / manage.py数据连接到Server数据库。
我在Ubuntu上设置了FreeTDS,unixODBC,pyodbc (3.0.7)和django-pyodbc从这里:https://github.com/lionheart/django-pyodbc/
我可以成功地运行syncdb和South迁移。但是,当我尝试运行dbshell或loaddata时,会得到以下错误:
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect我可以使用isql和tsql从命令行连接。对我错过了什么有什么想法吗?
发布于 2014-06-24 19:16:23
所以我想出了问题。
如果要使用dbshell或loaddata,则需要使用命名的DSN,而不仅仅是主机。我在/etc/freetds.conf、/etc/odbcinst.ini和/etc/odbc.ini中正确地设置了这个选项,所以tsql和isql都在工作。
我在settings.py中使用了这个默认数据库:
'ENGINE': 'django_pyodbc',
'NAME': 'db_name',
'USER': 'user_name',
'PASSWORD': 'pw',
'HOST': 'hostname.domain.com,1433',
'PORT': '1433',
'OPTIONS': {
'host_is_server': True,
'autocommit': True,
'unicode_results': True,
'extra_params': 'tds_version=7.2'
},我不得不把它改成:
'ENGINE': 'django_pyodbc',
'NAME': 'db_name',
'USER': 'user_name',
'PASSWORD': 'pw',
'PORT': '1433',
'OPTIONS': {
'host_is_server': True,
'dsn': 'dsn_name',
'autocommit': True,
'unicode_results': True,
'extra_params': 'tds_version=7.2'
},您将注意到第一个(已损坏的)示例使用'HOST',而第二个(工作)示例使用'dsn‘下面的’选项‘。“
https://stackoverflow.com/questions/24389807
复制相似问题