将 Django 连接到 MSSQL 2022

Connect Django to MSSQL 2022

提问人:bmd111002 提问时间:11/15/2023 最后编辑:bmd111002 更新时间:11/15/2023 访问量:37

问:

我正在尝试使用mssql将SQL Server与Django连接起来 这是 settings.py 中的配置

`
DATABASES = {
'default':{
    'ENGINE':'mssql',                    # Must be "mssql"
    'NAME':'WEB',                       # DB name "test"
    'HOST':'localhost\SQLEXPRESS', # <server>\<instance>
    'PORT':'',                           # Keep it blank
    'OPTIONS': {
        'driver': 'ODBC Driver 17 for SQL Server',
    },
   }
  }
`

并在进行迁移时出现此错误

RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': ('08001', '[08001] [Microsoft][ODBC Driver 17 for SQL Server]SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].  (-1) (SQLDriverConnect); [08001] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0); [08001] [Microsoft][ODBC Driver 17 for SQL Server]Invalid connection string attribute (0); [08001] [Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. (-1)')

希望你们能帮帮我,感谢您的阅读

python sql-server django

评论


答:

-2赞 KanhaJi 11/15/2023 #1

让我们看看什么错误说的:

Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]这表示 HOST 地址中出现错误,可能是因为您没有指定 PORT。

(-1) (SQLDriverConnect); [08001] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0);如果您的主机是正确的,请检查您的凭据。数据库的 USER 和 PASSWORD 不在连接对象中。

这是 Microsoft 官方文档中的示例

settings.py
DATABASES = {
    "default": {
        "ENGINE": "mssql",
        "NAME": "DATABASE_NAME", 
        "USER": "USER_NAME", # if you didn't set username, Keep it blank
        "PASSWORD": "PASSWORD", # if you didn't set password, Keep it blank
        "HOST": "HOST_ADDRESS",
        "PORT": "1433", # try this
        "OPTIONS": {"driver": "ODBC Driver 17 for SQL Server", 
        },
    },
}

如果没有任何效果,请尝试重新安装它,并查看此分步指南

希望这对您有所帮助。