我正在尝试使用SQL server 2012
和Pyodbc
框架连接到Django
。
但Django
的版本是2.1
。现在,当我尝试使用下面的代码连接时,我只安装了Pyodbc
,然后下面的代码不会运行。
DATABASES = {
'default': {
# 'ENGINE': '{ODBC Driver 11 for SQL Server}', Tried this as well but it did not work.
'ENGINE': 'sql_server.pyodbc',
'NAME': 'MY_DATABASE',
# 'HOST': 'XXX.XX.XXX.XXX', Tried this as well but it did not work.
'SERVER': 'XXX.XX.XXX.XXX',
# 'HOST': 'SQLSERVER_InstanceName',
'PORT': '',
'USER': 'SQLSERVERUSER',
'PASSWORD': 'USERs PASSWORD',
'DATABASE': 'MY_DATABASE',
# 'Trusted_Connection': 'Yes',
# 'OPTIONS': {
# 'driver': 'ODBC Driver 11 for SQL Server',
# }
},
}
但是当我安装django-pyodbc-azure
并尝试通过运行python manage.py inspectdb
命令来运行上面的代码时,它可以工作。但使用django-pyodbc-azure
的问题在于它将当前版本的django
降级为2.0.8
- 这是我不想要的。
我不想使用FreeTDS
或Pymssql
;我只想和pyodbc
一起去。
有人可以为此提出一些建议吗?
截至今天,django-pyodbc-azure支持Django 2.1。以下是我的配置。
这是我用来配置连接的代码。
DATABASES = {
'default': {
'ENGINE': "sql_server.pyodbc",
'HOST': "server_name",
'USER': "username",
'PASSWORD': "password",
'NAME': "database_name",
'OPTIONS' : {
'driver': 'ODBC Driver 13 for SQL Server',
},
}
}
注意:请勿使用服务器的IP地址作为HOST,而是使用计算机名称。