DB2:获取 [IBM][CLI 驱动程序] SQLSTATE=58004 SQLCODE=-1042



我是 IBM DB2 世界的新手,并尝试使用 Jupyter notebook 与 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 环境变量以追加以下内容 目录到路径:

C:\python\lib\site-packages\clidriver\bin\amd64.VC12.显像管

(即,带有 \clidriver\bin\amd64 的站点包路径。VC12.显像管 附在它后面(

修改 PATH 后,可以重试 python ibm_db数据库 连接。

如果您没有修改 PATH 的权限,也可以复制 该 AMD 64 的内容(2 .DLL文件(。VC12.CRT 目录 ,进入 您知道的另一个目录将在以下情况下已在 PATH 上 蟒蛇运行。

如果要使用 SSL/TLS 加密数据库连接,则 有时还需要在 PATH 中添加第二个目录 ( ... 站点包\clidriver\bin\icc64 (。

从 https://github.com/ibmdb/python-ibmdb/issues/599

我们收到以下错误,这是由于AS400存储已满。

SQL system error. (SQLSTATE 58004, SQLCODE -901)

最新更新