溫馨提示×

溫馨提示×

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

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

Linux下怎么使用Python連接MSSql Server 2008

發(fā)布時間:2021-03-15 14:44:33 來源:億速云 閱讀:288 作者:小新 欄目:系統(tǒng)運維

小編給大家分享一下Linux下怎么使用Python連接MSSql Server 2008,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

安裝unixODBC

unixODBC 是 linux 下的 ODBC 驅(qū)動管理器,官網(wǎng):http://unixodbc.org。先確保你已經(jīng)裝上了它。如果你在 ubuntu/debian 下,直接執(zhí)行:
sudo apt-get install unixODBC unixODBC-bin

就可以把 unixODBC 裝上了,附帶裝上了圖形化的 ODBC 管理器 ODBCConfig,它的樣子大概是這樣的:

 Linux下怎么使用Python連接MSSql Server 2008

如果你確定會在命令行下工作,就不安裝 unicODBC-bin 也可以。而且后文的相關(guān)操作也是通過命令行來完成的,不會使用 ODBCConfig,提到這個只為方便 GUI 愛好者。

安裝Freetds

Freetds 是應(yīng)用最為廣泛的 Linux 下的 ODBC 驅(qū)動,官網(wǎng):http://www.freetds.org/。因為我們用的版本是 0.82 版,而 ubuntu 的更新源里仍然是 0.63 版本,我這邊建議你執(zhí)行 sudo apt-get remove freetds freetds-dev 來把以前裝的版本刪除掉,然后下載 0.82 或更新的版本。

編譯 freetds 的時候一定要注意 configure 的參數(shù),我估計當時我編譯的時候參數(shù)沒有設(shè)置正確,所以一直沒有能夠連上 mssql server。Vcc 分享了他的編譯參數(shù),如下:
./configure \

--prefix=/etc/freetds \

--with-tdsver=8.0 --enable-msdblib \

--enable-dbmfix \

--with-gnu-ld \

--enable-shared \

--enable-static

執(zhí)行 configure 之后再 sudo make,sudo make install,耐心等候安裝完成就可以了。

安裝完成后,該用 tsql 測試一下,測試的方式是執(zhí)行:
tsql –H mssql-server-ip –U username –P password

出現(xiàn) 1> 提示符就是成功啦。

配置 freetds

Freetds 的配置文件位置在 /etc/freetds/freetds.conf 里,打開后在最后面增加如下一個 section:

138 [db4]

139     host = 192.168.18.4

140     port = 1433

141     tds version = 7.0

其中 host 是 mssql server 的地址,tds version 是指定使用哪個 tds 版本,據(jù) vcc 說,用 7.0 的兼容性比較好,我小試了一下,8.0 也是可以的。

完成以后,應(yīng)該用 tsql 測試一下,測試的方式是執(zhí)行:
tsql –S db4 –U username –P password

看到 1> 標識符就是成功啦。

配置 ODBC 驅(qū)動

接下來我們要配置一個 ODBC 驅(qū)動,驅(qū)動存儲在 /etc/odbcinst.ini 文件中,用 vi 打開后,寫入下面的內(nèi)容:

 1 [SQL Server]

 2 Description     = MS-SQLServer

 3 Driver      = /usr/local/freetds/lib/libtdsodbc.so

 4 Driver64        = /usr/local/freetds/lib/libtdsodbc.so

 5 Setup       = /usr/lib/odbc/libtdsS.so

 6 Setup64     = /usr/lib/odbc/libtdsS.so

 7 UsageCount      = 1

 8 CPTimeout       =

 9 CPReuse     =

 10 FileUsage       = 1

這樣我們就配置好一個名為 SQL Server 的驅(qū)動了。如果你的 odbcinst.ini 之前是空的,可能還需要這樣一個 section:

12 [ODBC]

 13 Trace       = Yes

 14 TraceFile       = /tmp/sql.log

 15 ForceTrace      = No

 16 Pooling     = Yes

其中 Trace 是指定要不要寫 log,寫 log 會降低程序性能,發(fā)布版記得把 Trace 的值改為 No。

配置 ODBC 數(shù)據(jù)源

現(xiàn)在該到配置數(shù)據(jù)源的時候了,ODBC 數(shù)據(jù)源存放在 /etc/odbc.ini 文件中,我們用 vi 打開,然后加入如下內(nèi)容:

 8 [mssql2k8]

 9 Description     = link to 18.4

 10 Driver      = SQL Server

12 Servername = db4

14 Database        = tempdb

可以看到這個名為 mssql2k8 的數(shù)據(jù)中,使用了前面在 odbcinst.ini 中定義的驅(qū)動“SQL Server”,在 freetds.conf 中定義的 db4 數(shù)據(jù)庫服務(wù)器,前面的工作必不可少哇。

配置完成后可以使用 isql 測試一下,測試方式是執(zhí)行:
isql mssql2k8 username password

在 isql 中你可以執(zhí)行相應(yīng)的 sql 語句,比如 select * from table,看看是不是真的已經(jīng)能夠從 mssql server 2008 中取得數(shù)據(jù)了。

安裝 pyodbc

無疑,這一步是最容易的了。先到這里(http://code.google.com/p/pyodbc/downloads/list)下載 pyodbc 源碼包,然后解壓到相應(yīng)的目錄,再執(zhí)行:
sudo python setup.py build
sudo python setup.py install
即可。

最后仍然是測試,可以參考http://code.google.com/p/pyodbc/wiki/Examples的代碼。

以上是“Linux下怎么使用Python連接MSSql Server 2008”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

AI