0

我使用 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 配置:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

0 回答 0