黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

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

系統(tǒng) 2065 0

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

安裝

環(huán)境需求:

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

Python連接DB2數(shù)據(jù)庫_第1張圖片 ?

只下載箭頭所指即可,我還沒在linux上做測試。

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

Python2.7

VCForPython2.7

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

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

建庫

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

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

Python連接DB2數(shù)據(jù)庫_第2張圖片 ?

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

?

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

Python連接DB2數(shù)據(jù)庫_第3張圖片 ?

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

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

Python連接DB2數(shù)據(jù)庫_第4張圖片 ?

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

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

連接

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

Python連接DB2數(shù)據(jù)庫_第5張圖片 ?

導(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ù)庫,設(shè)置自動(dòng)提交

查詢

            
sql = “select * from testable”

result = cursor.execute(sql)


          

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

            
sql = “select * from MYSCHEMA.TESTTABLE” 


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

這里的操作和MySQL沒什么差別了

這個(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è)語句的引號,單雙必須按以上的方式。

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論