You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django连接SQL Server 2022报错:SQL Server v16不支持,求排查

问题原因

报错SQL Server v16 is not supported是因为你当前使用的Django 2.1.15 + django-pyodbc-azure 2.1.0.0组合不支持SQL Server 2022(版本号v16)。Django 2.1是老旧版本,对应的django-pyodbc-azure 2.1.x仅支持到SQL Server 2017(v14),无法兼容更高版本的SQL Server。另外你同时安装了多个SQL Server后端包(django-pyodbc-azure、django-mssql-backend、mssql-django),可能引发依赖冲突,加剧问题。

解决方案

1. 清理冲突依赖并升级Django及后端

先卸载所有老旧的SQL Server后端包,保留微软官方维护的mssql-django,同时升级Django到兼容版本:

# 卸载冲突包
pip uninstall django-pyodbc-azure django-pyodbc-azure-2019 django-mssql-backend -y
# 升级Django到3.2 LTS(与mssql-django 1.2兼容)
pip install django==3.2.*
# 确保mssql-django版本正确(1.2支持SQL Server 2022)
pip install mssql-django==1.2 -U

2. 修改数据库配置

将settings.py中的数据库引擎改为mssql(mssql-django的官方引擎名),确保配置参数准确:

DATABASES = {
    'default': {
        'ENGINE': 'mssql',
        'NAME': 'veritabanıProje2',  # 这里必须是SQL Server中已存在的数据库名,不是本地的DB.sql文件名
        'USER': 'sa',
        'PASSWORD': '你的密码',
        'HOST': 'DESKTOP-MDLFE99',
        'PORT': '',
        'OPTIONS': {
            'driver': 'ODBC Driver 17 for SQL Server',
        },
    },
}

3. 确认数据库存在

打开SQL Server Management Studio(SSMS),确认veritabanıProje2是已在SQL Server实例中创建好的数据库。如果不存在,先执行DB.sql文件中的SQL语句创建数据库,再使用正确名称配置。

内容的提问来源于stack exchange,提问作者svgy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:25:34