簡體   English   中英

DB2:獲取 [IBM][CLI 驅動程序] SQLSTATE=58004 SQLCODE=-1042

[英]DB2: Getting [IBM][CLI Driver] SQLSTATE=58004 SQLCODE=-1042

我是 IBM DB2 世界的新手,並嘗試使用 Jupyter 筆記本與 DB2 建立連接:

import ibm_db

try:
    ibm_db.pconnect("DATABASE=DB2;HOSTNAME=hostname;PORT=60000;PROTOCOL=TCPIP;UID=user;PWD=password;", "", "")
    print("Connected to DB")
except Exception as e:
    print(e)

但是得到:

[IBM][CLI Driver] SQL1042C  An unexpected system error occurred.  SQLSTATE=58004 SQLCODE=-1042

這里有什么建議嗎?

編輯:

得到了問題的解決方案。 在這里發布它以便有人可能會得到幫助:

ibm_db.pconnect字符串中添加AUTHENTICATION=SERVER

ibm_db.pconnect字符串中添加AUTHENTICATION=SERVER

如果您的代碼適用於 Linux 但在 Windows 上失敗,並且您使用的是 SQLAlchemy,這可能也有幫助:

您可能遇到影響某些 Microsoft Windows 配置的已知缺陷。

使用 pip show ibm_db 查找站點包目錄的“位置:”。

例如,假設該目錄是 c:\python\lib\site-packages

您的安裝目錄會有所不同,但請嘗試理解這個想法。

然后修改你的PATH環境變量為append 將以下目錄改成PATH:

c:\python\lib\site-packages\clidriver\bin\amd64.VC12.CRT

(即,附加了 \clidriver\bin\amd64.VC12.CRT 的站點包路徑)

修改 PATH 后,可以重試 python ibm_db 數據庫連接。

如果您沒有修改 PATH 的權限,您也可以將 amd64.VC12.CRT 目錄的內容(2.DLL 文件)復制到另一個您知道 python 運行時已經在 PATH 上的目錄中。

如果您使用 SSL/TLS 加密數據庫連接,有時還需要向 PATH 添加第二個目錄(... site-packages\clidriver\bin\icc64 )。

來自https://github.com/ibmdb/python-ibmdb/issues/599

暫無
暫無

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

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