欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python連接DB2數(shù)據(jù)庫(kù)

 更新時(shí)間:2016年08月27日 09:27:45   投稿:hebedich  
DB2 是美國(guó)IBM公司開(kāi)發(fā)的一套關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它主要的運(yùn)行環(huán)境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱(chēng)OS/400)、z/OS,以及Windows服務(wù)器版本。今天我們來(lái)探討下如何使用Python連接DB2數(shù)據(jù)庫(kù)

在工作中遇到了這樣的情況,項(xiàng)目中需要連接IBM的關(guān)系型數(shù)據(jù)庫(kù)(DB2),關(guān)于這方面的庫(kù)比較稀少,其中 ibm_db 是比較好用的一個(gè)庫(kù),網(wǎng)上也有教程,但是好像不準(zhǔn)確,也不太詳細(xì),錯(cuò)誤百出,沒(méi)辦法只能拿到后自己分析源碼,總算搞定。

安裝

環(huán)境需求:

首先是數(shù)據(jù)庫(kù)DB2,下載連接直接百度,我下載是這兩個(gè)文件:

 

只下載箭頭所指即可,我還沒(méi)在linux上做測(cè)試。

數(shù)據(jù)庫(kù)API(這個(gè)東西找了好久,終于找到了合適的)(找不到搜:SQLAPI.zip)

Python2.7

VCForPython2.7

ibm_db(主要的庫(kù),在安裝中會(huì)下載ntx64_odbc_cli庫(kù),安裝時(shí)會(huì)檢測(cè) IBM_DB_HOME 變量,所以需要安裝數(shù)據(jù)庫(kù)后再安裝ibm_db)

以上模塊在網(wǎng)上都可以找到,請(qǐng)自行下載安裝。

建庫(kù)

數(shù)據(jù)庫(kù)安裝好之后新建一個(gè)實(shí)例,默認(rèn)是DB2,然后創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),我創(chuàng)建的MYTEST(在操作數(shù)據(jù)庫(kù)以及鏈接數(shù)據(jù)庫(kù)需注意大小寫(xiě)),命令行方法:

打開(kāi)命令行處理器:(管理員身份)

 

輸入? 直接回車(chē),會(huì)顯示命令列表,開(kāi)啟數(shù)據(jù)庫(kù)管理器:

 

然后關(guān)閉就好,建立數(shù)據(jù)庫(kù)以及創(chuàng)建表還是使用db2 data studio,比較方便,安裝時(shí)在根目錄創(chuàng)建一個(gè)臨時(shí)目錄,把文件解壓進(jìn)去,之后再修改install.exe的屬性,改成兼容Windows 7運(yùn)行,同時(shí)使用管理員權(quán)限打開(kāi),之后就是安裝安裝好之后點(diǎn)擊左側(cè)新建一個(gè)數(shù)據(jù)庫(kù)。

 

按以上方式填寫(xiě),用戶(hù)名和密碼使用安裝數(shù)據(jù)庫(kù)時(shí)設(shè)置的用戶(hù)名密碼。

實(shí)例配置好并且能測(cè)試成功就可以創(chuàng)建數(shù)據(jù)庫(kù)了。

 

數(shù)據(jù)庫(kù)名稱(chēng)和別名寫(xiě)上即可,其余的由于是測(cè)試就不填了,等正式環(huán)境在考察下性能優(yōu)化方面的配置。點(diǎn)擊運(yùn)行創(chuàng)建,過(guò)程有點(diǎn)慢,不知道是不是機(jī)器配置原因,大概花了十幾分鐘。

下面就不詳細(xì)說(shuō)建表的過(guò)程了,值需注意,建表前先簡(jiǎn)歷模式(Schema),使用自定義模式建表。

連接

連接直接導(dǎo)入庫(kù)

 

導(dǎo)入ibm_db_dbi即可。

import ibm_db_dbi

conn = ibm_db_dbi.connect(“PORT=50000;PROTOCOL=TCPIP;”, host=db[“host”], database=db[“database”], user=db[“user”],

password=db[“passwd”])

conn.set_autocommit(True)

cursor = conn.cursor()

連接數(shù)據(jù)庫(kù),設(shè)置自動(dòng)提交

查詢(xún)

sql = “select * from testable”

result = cursor.execute(sql)

注意,以上查詢(xún)方式是錯(cuò)的。正確如下:

sql = “select * from MYSCHEMA.TESTTABLE” 


result = cursor.execute(sql) rows = cursor.fetchall() 

這里的操作和MySQL沒(méi)什么差別了

這個(gè)地方被坑了好幾個(gè)小時(shí),T_T

插入

sql = “insert into MYSCHEMA.TESTTABLE (“uuid”, “content”) values (‘%s', %s)” % (“1234567890”, “asdfghjkl”)

result = cursor.execute(sql)

更新

sql = “update \”MYSCHEMA\”.\”TESTTABLE \” set \”content\” = ‘%s' where \”uuid\” = ‘%s'” % (

“aaa”, “1234567890”)

result = cursor.execute(sql)

如果操作成功,result就是True,注意每個(gè)語(yǔ)句的引號(hào),單雙必須按以上的方式。

以上就是本文給大家分享的使用Python連接DB2數(shù)據(jù)庫(kù)的全部?jī)?nèi)容了,希望對(duì)小伙伴們能夠有所幫助。

相關(guān)文章

最新評(píng)論