簡體   English   中英

Django 無法連接到 SQL 服務器 2019

[英]Django Cannot Connect to SQL Server 2019

我有一個 Django 項目,想連接到 SQL Server 2019。但是我在進行遷移時遇到了問題。 這是錯誤消息:

django.db.utils.NotSupportedError:SQL 服務器 v15 不受支持。

我正在使用Django 2.1.15SQL Server Microsoft SQL Server 2019 (RTM) - 15.0.2000.5

這是否意味着這個 Django 版本不能使用 SQL Server 2019?

解決。 感謝另一個論壇

已安裝2019版:使用pyodbc的Microsoft SQL Server和Azure SQL數據庫的Django后端,兼容SQL Server 2019

pip install django-pyodbc-azure-2019

系統檢查未發現任何問題(0 靜音)。 2020 年 9 月 19 日 - 18:52:09 Django 版本 2.1.15,使用設置 'mdm.settings' 在http://127.0.0.1:8000/啟動開發服務器,使用 CONTROL-C 退出服務器。

我將創建一個新的 venv 並分享程序,因為當前的程序現在一團糟:

(venvAzure) luca@webserver:~/app/MDM_SQLServer$ pip freeze
certifi==2020.6.20
cffi==1.14.2
chardet==3.0.4
cryptography==3.1
Django==2.1.15
django-azure-sql-backend==2.1.1.1
django-mssql-backend==2.8.1
django-pyodbc==1.1.3
django-pyodbc-azure-2019==2.1.0.0
idna==2.10
msal==1.5.0
pycparser==2.20
PyJWT==1.7.1
pyodbc==4.0.30
pytz==2020.1
requests==2.24.0
six==1.15.0
urllib3==1.25.10

謝謝

我只是創建一個帳戶來回答這個問題。 我失去了很多時間,直到可以解決這個問題。

為了使用 SQL Server 2019,我需要將 Django 更新到實際版本 3.x 並安裝 django-mssql-backend、django-pyodbc、pyodbc

在你的 DATABASE 定義中,添加這一行來工作:

'OPTIONS': { 'driver': 'ODBC Driver 17 for SQL Server', },

具體安裝:

 pip install Django==2.1.15
   
 pip install django-pyodbc-azure-2019==2.1.0.1
DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'dtabase_name',
        'USER': 'sa',
        'PASSWORD': '123456',
        'HOST': 'Your_host',
        'PORT': '',

        'OPTIONS': {
            'driver': 'ODBC Driver 17 for SQL Server',
        },
    },
}

通過將以下代碼添加到“settings.py” ,您可以檢查要使用的ODBC 驅動程序版本 *在我的例子中,它是“用於 SQL 服務器的 ODBC 驅動程序 17”

# "settings.py"

import pyodbc
print("This is " + pyodbc.drivers()[-1]) # ODBC Driver 17 for SQL Server

例如,我使用mssql-djangoDjango連接到MSSQL(SQL Server)SQL Server Authentication *我使用SQL 服務器 2019 Express

因此,使用“OPTIONS”中的“ODBC Driver 17 for SQL Server”將以下代碼設置為“settings.py”

# "settings.py"

DATABASES = {
    'default':{
        'ENGINE':'mssql',  
        'NAME':'test',           
        'USER':'john',                      
        'PASSWORD':'johnpw',                
        'HOST':'DESKTOP-QVRCPTA\SQLEXPRESS',
        'PORT':'',                           
        'OPTIONS': { # Here
            'driver': 'ODBC Driver 17 for SQL Server', 
        },
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM