簡體   English   中英

使用 SQLAlchemy 連接到 IBM DB2 數據庫

[英]Connect to IBM DB2 database using SQLAlchemy

我正在嘗試使用 SQLAlchemy 連接到基於雲的 IBM DB2 數據庫。使用基本的 ibm_db python 庫可以正常工作:

connection_string = 'DRIVER={DB2};DATABASE=BLUDB;HOSTNAME=host.databases.appdomain.cloud;PORT=port;PROTOCOL=TCPIP;UID=user;PWD=pass;SECURITY=SSL;'
conn = ibm_db.connect(connection_string, '', '')

但是,嘗試使用 SQLAlchemy 執行相同操作時,連接部分只是掛起/超時

from sqlalchemy import create_engine
import ibm_db_sa

user = "user"
password = "pass"
host = "host.databases.appdomain.cloud"
port = "port"
database = "BLUDB"

db2_connection_string = (
    f'db2+ibm_db://{user}:{password}@{host}:{port}/{database}'
    ':SECURITY=SSL'
)

engine = create_engine(db2_connection_string)
connection = engine.connect() # timeouts here

有什么建議么?

只使用這樣的連接字符串:

db2_connection_string = (
    f'db2://{user}:{password}@{host}:{port}/{database}'
    ':SECURITY=SSL;PROTOCOL=TCPIP;'
)

ghstats.ps 中的這一行代碼是一個工作示例。 代碼來自這個IBM Cloud 解決方案教程,它有一個 Python 應用程序,其中 SQLAlchemy 連接到 Cloud 上的 Db2。

作為替代方案,您也可以嘗試將 ibm_db_sa作為驅動程序前綴而不是db2 確保導入正確的模塊(ibm_db、ibm_db_sa)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM