国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-01-04 17:25:37
字體:
供稿:網(wǎng)友

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

安裝

環(huán)境需求:

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

python集成db2數(shù)據(jù)庫,python連接db2,python,鏈接數(shù)據(jù)庫db2

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

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

Python2.7

VCForPython2.7

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

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

建庫

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

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

python集成db2數(shù)據(jù)庫,python連接db2,python,鏈接數(shù)據(jù)庫db2

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

python集成db2數(shù)據(jù)庫,python連接db2,python,鏈接數(shù)據(jù)庫db2

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

python集成db2數(shù)據(jù)庫,python連接db2,python,鏈接數(shù)據(jù)庫db2

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

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

python集成db2數(shù)據(jù)庫,python連接db2,python,鏈接數(shù)據(jù)庫db2

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

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

連接

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

python集成db2數(shù)據(jù)庫,python連接db2,python,鏈接數(shù)據(jù)庫db2

導(dǎo)入ibm_db_dbi即可。

import ibm_db_dbiconn = 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è)置自動提交

查詢

sql = “select * from testable”result = cursor.execute(sql)

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

sql = “select * from MYSCHEMA.TESTTABLE” result = cursor.execute(sql) rows = cursor.fetchall() 

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

這個地方被坑了好幾個小時,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,注意每個語句的引號,單雙必須按以上的方式。

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 留坝县| 平利县| 涞水县| 洛浦县| 红原县| 甘南县| 潍坊市| 莱阳市| 尼玛县| 包头市| 增城市| 永德县| 丹凤县| 祁东县| 宁远县| 莎车县| 万山特区| 博客| 彭山县| 淮滨县| 龙胜| 莱芜市| 望都县| 西峡县| 理塘县| 察哈| 灵璧县| 延庆县| 长海县| 无锡市| 卫辉市| 察哈| 宝鸡市| 贵定县| 理塘县| 庄河市| 密山市| 塘沽区| 合阳县| 塘沽区| 皮山县|