Django——連接sql server數據庫


Django——連接sql server數據庫


 

*在此注明,本人使用的是python3.5和Django2.0.4

  sql server是微軟出的一款閉源的可運行於windows和linux平台上的關系型數據庫。由於其閉源的特性,所以較少有公司使用,但是比較神奇的是,我所在的公司和我幾個朋友所在的公司業務都是以爬蟲為主,都是以sql server作為主要的數據庫在使用。

一、打包

  如果你是使用Django的老手應該知道Django默認不支持sql server;如果你剛開始接觸Django,那么你應該知道Django默認支持四種數據庫:postgresql、mysql、oracle、sqlite。以上四個數據庫不需要直接進行過多的操作,只需要你修改項目中的settings.py文件中的DATABASE就可以了。

  但是使用sql server,則需要自己再導入一些東西。

  上圖中所涉及到的包是我自己打進去的全部可以已通過"pip install XXX"安裝,不需要在Django文件中導入。其中特別需要注意的是django-pyodbc-azure是一定要裝的,沒有它直接就崩了。

二、代碼

  將上一步完成以后就只需要修改你的項目中的settings.py文件就可以了。

 1 DATABASES = {
 2     'default': {
 3         'NAME': 'screen',
 4         'ENGINE': 'sql_server.pyodbc',
 5         'HOST': '127.0.0.1',
 6         'PORT': '1433',
 7         'USER': 'user',
 8         'PASSWORD': 'password',
 9         'OPTIONS':{
10             'driver':'SQL Server Native Client 10.0',
11         }
12     }
13 }

  在這里要注意幾點:

  1.'ENGINE'這個鍵值對是固定寫法(好像是要pip install pyodbc以后才能生效,時間有點久,有點記不清了)

  2.sql server的默認端口號是1433,但是可能有些公司會改端口號,大家用之前自己最好查一查這個端口是不是被sql server占用了

  3.在連接默認數據庫的時候很多人都沒有寫過'OPTIONS'這個東西,我一開始也沒有寫,結果怎么着都連不上。之后上網查了查,很多人說在odbc里調數據庫的東西引擎(公司用的windows做開發系統,勿噴……)。結果加進去還是不行,最后發現是'OPTIONS'沒有寫,寫完之后所有問題都解決了。

 

  這個也是很久之前做的事,剛閑下來着手整理,所以有些東西可能有些遺漏。如果有誰看到這篇文章,發現了一些錯誤或者遺漏的部分請留言,我會及時改正。謝謝!希望這篇文章能幫助到需要那些幫助的朋友!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM