我无法使用Django(Version-1.11.3)连接到MS SQL服务器
这是错误,我好像得到了:
django.db.utils.OperationalError:('08001',你'[08001] [unixODBC] [FreeTDS] [SQL Server]无法连接数据源(0) (的SQLDriverConnect)')
这是odbcinst.ini文件:
[FreeTDS]
Description=TDS driver (Sybase/MS SQL)
Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
CPTimeout=
CPReuse=
UsageCount=2
这是django settings.py片段:
DATABASES = {
'mssql': {
'ENGINE':'sql_server.pyodbc',
'NAME': '<NAME>',
'USER': '<USER>',
'PASSWORD':'<password>',
'HOST':'<host-id>',
'OPTIONS':
{
'driver':'FreeTDS'
}
}
}
答案 0 :(得分:1)
一些事情:
default
,而不是mssql
django-pyodbc-azure
Django数据库引擎:pip install 'django-pyodbc-azure>=1.11,<2'
这样的结果将是这样的设置:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': '<NAME>',
'USER': '<USER>',
'PASSWORD':'<password>',
'HOST':'<host-id>',
'PORT': '1433',
'OPTIONS': {
'driver': 'FreeTDS',
'unicode_results': True,
'host_is_server': True,
'extra_params': 'tds_version=7.3',
}
}
}
对于Windows:
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': '<NAME>',
'USER': '<USER>',
'PASSWORD':'<password>',
'HOST':'<host-id>',
'PORT': '1433',
'OPTIONS': {
'driver': 'ODBC Driver 13 for SQL Server',
}
}
}
您可以在此处查看1.11的django-pyodbc-azure
文档:https://github.com/michiya/django-pyodbc-azure/tree/azure-1.11
答案 1 :(得分:1)
在Windows 10上工作时,我遇到了同样的问题,这对我有用: 从此处下载驱动程序:https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-2017 然后在settings.py中的“选项”中添加“驱动程序”:“ SQL Server ODBC驱动程序17” 希望对您有所帮助。