windows下使用django連接sql server(最能用,含概所有錯誤所需包)

 
 

版本:

python : Python 3.6.8

django:django 2.2.3

sql server: sql server 2017

系統:window10

前言:很多博客少pypiwin32、django-mssql-backend,最後折騰發現,需要這兩個,安裝完就正常了

首先要打開sql server的IP訪問

   
 

雙擊TCP/IP,查看端口是不是1433

 
完成以上操作,即可接下操作

1、安裝必要django環境

pip install django-crontab django-mssql django-pyodbc django-pyodbc-azure django-pytds django-sqlserver pypiwin32 

2、數據庫驅動程序檢查

  • 一般第三方連接數據庫應用程序都自帶的有,這裏使用 Navicat Premium 示例,軟件安裝略
  • 驅動查看路徑默認爲 C:\Windows\SysWOW64\odbcad32.exe
  • 打開ODBC數據源管理程序,可以看到所有安裝的ODBC驅動,找到Navicat Client的名稱,用於填寫到Django的setting中作爲指定的默認驅動
 
安裝 Navicat Premium 後去對應目錄查看是否有ODBC驅動
 
 

3、Django 的 setting 中配置數據庫連接信息

 
需要注意的是 OPTIONS默認數據庫連接驅動設置的驅動要和上圖ODBC中驅動保持一致!
很多人使用mysql多了 端口很容易寫成3306,SQL Server端口默認1433
 
DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc', # odbc連接固定寫法
        'NAME': 'MySQLserver', # 自定義數據庫連接名
        'USER': 'sa', # 數據庫連接賬戶
        'PASSWORD': '123456!@#', # 數據庫連接密碼
        'HOST': '127.0.0.1', # 數據庫服務地址
        'PORT': '1433', # 數據庫連接端口
        'OPTIONS':{
            'driver':'SQL Server Native Client 11.0', # ODBC連接應用驅動
            'MARS_Connection': True,
        }
    }
}

# set this to False if you want to turn off pyodbc's connection pooling
DATABASE_CONNECTION_POOLING = False

 

 
 很多博客會少了:DATABASE_CONNECTION_POOLING = False
但在django-pyodbc-azure包中的示例如圖:    所以要加上DATABASE_CONNECTION_POOLING = False

基它使用跟mysql一樣

然後運行python manage.py runserver,能正常運行

如果報錯,請往下看

4、添加    django-mssql-backend

安裝命令:pip install django-mssql-backend

再次運行項目(python manage.py runserver

如果報錯誤:No translation files found for default language zh-cn.

修改配置爲:LANGUAGE_CODE = 'zh-hans'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章