python - 使用 ibm_db 连接数据库时出现 SQL 错误
问题描述
我的问题:当我尝试使用 python 包 ibm_db 连接到 DB2 时,我收到以下错误:
SQLCODE=-30073][CLI 驱动程序] SQL30073N "0x0000" 不支持参数值 "0x0000"。SQLSTATE=58017
代码如下。
import ibm_db
conn_str = "DRIVER=IBM DB2 ODBC DRIVER;DATABASE=XXXXXX_XX_X;HOSTNAME=XXXXXXX.XX.XXX.XXX;PORT=XXXX;PROTOCOL=TCPIP;UID=XXXX;PWD=XXXX;"
connection = ibm_db.connect(conn_str, "", "")
上面的 X 代表一个字母数字字符。我收到此错误是否有特殊原因?
以下是我搜索过但找不到任何内容的位置:
https://github.com/ibmdb/node-ibm_db/issues/450 https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/codes/src/tpc/n30073.html https:// www.sqlerror.de/db2_sql_error_-30073_sqlstate_58017.html
谢谢你的帮助!
2020 年 7 月 30 日编辑:@mao,感谢您的反馈。以下是其他事实:
问题 1:您运行 Python 的操作系统是什么?你的python版本?
答案1:64 位 2016 Windows Server 2016 Standard。(使用 Python 3.7.4)
问题2: ibm_db 模块的版本?
答案 2: ibm_db-3.0.2-py3.7
问题3: clidriver db2level 命令的文本输出是什么?
答案 3:在此处查看日志:C:\ProgramData\IBM\DB2\C_PROGRA~1_IBM_NTX64_~1_CLIDRI~1\db2diag.log
2020-07-29-15.19.38.831000-240 I26899F365 级别:警告 PID:5276 TID:7616 PROC:python.exe 实例:节点:000 主机名:XXX EDUID:7616 功能:DB2 UDB,bsu 安全,sqlexLogPluginMessage,探针:20数据#1:大小为 43 字节的字符串 loadAuthidMapper:GetModuleHandle rc = 126
2020-07-29-15.19.38.965000-240 I27266F371 级别:警告 PID:5276 TID:7616 PROC:python.exe 实例:节点:000 主机名:XXX EDUID:7616 功能:DB2 UDB,通用通信,sqlcctcplogIPAddress,探针:50 MESSAGE : SQL10007N 无法检索到消息“3220”。原因代码:“3”。
问题 4:目标 Db2-server 平台和版本是什么?
答案 4:
问题 5:它是 Db2-for-Z/OS 吗?
答案 5:是的。
问题 6: 您是否能够通过 db2cli validate -dsn XXX -connect -user xxx - passwd zzzzzz 方法使用 db2cli 工具创建 DSN 并测试连接性?
答案 6:尝试这样做时,我收到以下错误:
数据源名称“XXXXX”的连接尝试:
[FAILED]: [IBM][CLI Driver] SQL1531N 连接失败,因为在 db2dsdriver.cfg 配置文件或 db2cli.ini 配置文件中找不到使用 DSN 连接字符串关键字指定的名称。连接字符串中指定的数据源名称:“XXXXX”。
[IBM][CLI Driver] CLI0124E 参数值无效。SQLSTATE=HY009
解决方案
推荐阅读
- rust - 如何编写返回 json 或 html 的简单 warp 处理程序?
- html - 无论兄弟元素如何,如何垂直对齐输入字段以具有相同的宽度?
- mysql - 在 MySQL 中保留索引的同时创建非空表
- arrays - 如何在 Angular 应用程序中显示内部数组的数据和更新值?
- javascript - 在javascript中展开和折叠树
- sql-server - 如何按 DATE 为 SQL Server 中的列中的每个值返回前 3 行?
- gridview - Yii2:我有一个新专栏,现在我得到了 Getting unknown property
- php - 无法通过外部连接连接到 SQL Server,但通过内部连接可以正常连接
- c# - 具有私有字段的抽象基类
- api - Razorpay 集成错误(调用 client.Order.Create 时参数不足)