Python連接DB2資料庫
DB2 是美國IBM公司開發的一套關聯式資料庫管理系統,它主要的運作環境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱OS/400)、z/OS,以及Windows伺服器版本。今天我們來探討下如何使用Python連接DB2資料庫
在工作中遇到了這樣的情況,專案中需要連接IBM的關係型資料庫(DB2),關於這方面的函式庫比較稀少,其中ibm_db 是比較好用的一個庫,網路上也有教程,但是好像不準確,也不太詳細,錯誤百出,沒辦法只能拿到後自己分析源碼,總算搞定。
安裝
環境需求:
首先是資料庫DB2,下載連接直接百度,我下載是這兩個檔案:
只下載箭頭所指即可,我還沒在linux上做測試。
資料庫API(這個東西找了好久,終於找到了合適的)(找不到搜尋:SQLAPI.zip)
Python2.7
VCForPython2.7
ibm_db(主要的庫,在安裝中會下載ntx64_odbc_cli庫,安裝時會檢測IBM_DB_HOME 變量,所以需要安裝資料庫後再安裝ibm_db)
以上模組在網路上都可以找到,請自行下載安裝。
建庫
資料庫安裝好之後新建一個實例,預設是DB2,然後建立一個新的資料庫,我建立的MYTEST(在操作資料庫以及連結資料庫需注意大小寫),命令列方法:
開啟命令列處理器:(管理員身分)
#
輸入? 直接回車,會顯示指令列表,開啟資料庫管理器:
然後關閉就好,建立資料庫以及建立表還是使用db2 data studio,比較方便,安裝時在根目錄建立一個臨時目錄,把檔案解壓縮進去,之後再修改install.exe的屬性,改成相容Windows 7運行,同時使用管理員權限打開,之後就是安裝安裝好之後點擊左側新建一個資料庫。
以以上方式填寫,使用者名稱和密碼使用安裝資料庫時設定的使用者名稱密碼。
實例配置好且能測試成功就可以建立資料庫了。
資料庫名稱和別名寫上即可,其餘的由於是測試就不填了,等正式環境在考察下性能優化方面的配置。點擊運行創建,過程有點慢,不知道是不是機器配置原因,大概花了十幾分鐘。
下面就不詳細說建表的過程了,值需注意,建表前先簡歷模式(Schema),使用自訂模式建表。
連接
連接直接匯入庫
#
匯入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()
連接資料庫,設定自動提交
#
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)

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

在使用Python的pandas庫時,如何在兩個結構不同的DataFrame之間進行整列複製是一個常見的問題。假設我們有兩個Dat...

Uvicorn是如何持續監聽HTTP請求的? Uvicorn是一個基於ASGI的輕量級Web服務器,其核心功能之一便是監聽HTTP請求並進�...

攻克Investing.com的反爬蟲策略許多人嘗試爬取Investing.com(https://cn.investing.com/news/latest-news)的新聞數據時,常常�...
