我使用 Django 连接到 SQL Server 2016 并开始执行
Python3" manage.py Runserver 8000
终端提示:
django.db.utils .InterfaceError: ('28000', "[28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]用户'test'登录失败。(18456) (SQLDriverConnect)")”< /p>

我不知道问题出在哪里。
这是我的数据库配置
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME':'testDB',#db name
'USER':'test',#db longin user
'PASSWORD':'test#2021',#db longin pwd
'HOST': '10.32.9.51',#db host
'PORT': '1433',#port,default1433
'OPTIONS': {#odbc driver
'provider': 'SQLOLEDB', # Have also tried 'SQLCLI11' and 'SQLOLEDB'
'driver': 'ODBC Driver 17 for SQL Server',
'MARS_Connection': True,
},
}
}
但是我使用pyodbc连接数据库和查询。此时查询成功。</p>
import pyodbc
try:
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=10.32.9.51;PORT=1433;DATABASE= testDB;UID=test;PWD=test#2021')
cursor=conn.cursor()
cursor.execute("select getdate()")
row=cursor.fetchone()
while row:
print("sqlserver date:%s"%(row[0]))
row=cursor.fetchone()
print(row)
conn.close()
except Exception as e:
print("DB Error")
print("DB Error:"+str(e))

系统环境:
System:Centos 7
python: 3.7.9、
Django:2.1.15、
django-mssql:1.8、
django-pyodbc:1.1.3、
django-pyodbc-azure:2.1.0.0、
django-sqlserver:1.11、
djangorestframework:3.12.2、
pip:21.0.1、
pymssql:2.1.5、
PyMySQL:1.0.2、
pyodbc:4.0.30、
SQL Server 配置:


