[英]Django Cannot Connect to SQL Server 2019
我有一個 Django 項目,想連接到 SQL Server 2019。但是我在進行遷移時遇到了問題。 這是錯誤消息:
django.db.utils.NotSupportedError:SQL 服務器 v15 不受支持。
我正在使用Django 2.1.15
和SQL 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-django將Django連接到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.