溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django 連接sql server數(shù)據(jù)庫的方法

發(fā)布時間:2020-09-22 01:35:50 來源:腳本之家 閱讀:265 作者:XiaoBoya 欄目:開發(fā)技術

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

sql server是微軟出的一款閉源的可運行于windows和linux平臺上的 關系型數(shù)據(jù)庫 。由于其閉源的特性,所以較少有公司使用,但是比較神奇的是,我所在的公司和我?guī)讉€朋友所在的公司業(yè)務都是以爬蟲為主,都是以sql server作為主要的數(shù)據(jù)庫在使用。

一、打包

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

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

 Django 連接sql server數(shù)據(jù)庫的方法

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

二、代碼

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

DATABASES = {
  'default': {
    'NAME': 'screen',
    'ENGINE': 'sql_server.pyodbc',
    'HOST': '127.0.0.1',
    'PORT': '1433',
    'USER': 'user',
    'PASSWORD': 'password',
    'OPTIONS':{
      'driver':'SQL Server Native Client 10.0',
    }
  }
}

在這里要注意幾點:

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

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

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

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

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI