![](/img/trans.png)
[英]ibm_db connect DB2 using SSLClientKeystoredb in Python
[英]Connect to IBM DB2 on Cloud using python api ibm_db
您能告訴我如何使用 python 連接到 IBM Cloud 上的 DB2 嗎?
我已經嘗試了以下步驟。
pip install ibm_db
import ibm_db
print("Creating connection.......")
conn_string = "DATABASE=bludb;HOSTNAME=54a2f15b-5c0f-46df-8954-7e38e612c2bd.c1ogj3sd0tgtu0lqde00.databases.appdomain.cloud;PORT=32733;PROTOCOL=TCPIP;UID=<userId>;PWD=<password>;"
conn = ibm_db.connect(conn_string,"","")
if conn:
print("Connection ...... [SUCCESS]")
else:
print("Connection ...... [FAILURE]")
我收到以下錯誤消息:
SQLCODE=-30082n:[IBM][CLI 驅動程序] SQL30082N 安全處理失敗,原因為“17”(“UNSUPPORTED FUNCTION”)。 SQLSTATE=08001
似乎您使用的是新的 Db2 on Cloud 精簡版計划,其中包含非標准端口和 SSL。 當您使用 Python 驅動程序連接到 Db2 並使用 SSL 時,您必須添加SECURITY=SSL
屬性,例如:
conn_string = "DATABASE=bludb;HOSTNAME=yourhostname;PORT=<port>;PROTOCOL=TCPIP;UID=<userId>;PWD=<password>;SECURITY=SSL"
我認為最簡單的方法是使用SQL Magic 。 這樣,您只需在查詢前添加 %sql 即可鍵入 SQL 語句
首先安裝軟件包
!pip install sqlalchemy==1.3.9
!pip install ibm_db_sa
然后,
%load_ext sql
最后,通過替換您的用戶名、密碼、主機名和 SSL 來運行以下代碼。 您可以在 IBM DB2 中的憑證下找到這些。
%sql ibm_db_sa://my-username:my-password@hostname:port/BLUDB?security=SSL
現在您可以通過使用 %sql before 或 %%sql 如果整個單元格將是 SQL 來運行任何 SQL。 例子:
%sql SELECT * FROM TABLENAME;
要么
%%sql
SELECT *
FROM TABLENAME;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.