【发布时间】:2017-12-30 05:55:57
【问题描述】:
我目前使用的是 Windows 10 机器和 Python 3.6.3,并已下载并安装了此处列出的要求: https://www.ibm.com/support/knowledgecenter/en/SSSNY3_10.1.0/com.ibm.swg.im.dbclient.python.doc/doc/t0054367.html 来自以下链接:
我已经安装了 ODBC 驱动程序(IBM DB2 ODBC 驱动程序)并在我的 Windows 10 机器上的 ODBC 数据源管理器界面中对其进行了配置。我还使用适当的设置为 SQL Server 连接完成了此操作。
我遇到的问题是我收到以下错误:
Traceback (most recent call last):
File "C:\Users\<Username>\Python\Test IBM Connection.py", line 6, in <module>
ibm_db.connect("<DSN>","<Username>","<Password>")
Exception: [IBM][CLI Driver] SQL1531N The connection failed because the name
specified with the DSN connection string keyword could not be found in either
the db2dsdriver.cfg configuration file or the db2cli.ini configuration file.
Data source name specified in the connection string: "<DSN>".
SQLCODE=-1531
我当然已经用谷歌搜索了这个问题,但无济于事。我是 IBM_DB 的新手,它要求并需要帮助配置 DSN 才能正常工作。
我也尝试过运行 db2dsdcfgfill - 但没有成功,请参见此处: https://www.ibm.com/support/knowledgecenter/en/SSEPGG_9.5.0/com.ibm.swg.im.dbclient.config.doc/doc/r0054557.html
我不确定这些文件中需要包含哪些信息,它们需要在哪里以及如何注册它们以便系统看到它们。
我已经能够连接和查询 SQL Server,但无法连接到 IBM iSeries AS400 系统。
我已经研究了我遇到的问题的许多部分,但没有找到任何解决我的问题的方法。
根据要求,我添加了以下信息:
连接字符串:
ibm.connect("<DSN>", "<Username>","<Password>")
ODBC 版本为 11.01.00.1527
我正在连接到 IBM iSeries 数据库 - 它在系统 i 上运行并且运行版本 7.2
【问题讨论】:
-
编辑问题以显示连接语句的代码行,并说明安装了 IBM DB2 ODBC 驱动程序的哪个版本+修订包,以及您是连接到本地数据库还是远程数据库数据库(如果远程,哪个操作系统运行 Db2 服务器)
-
添加信息。
-
您选择使用短语法进行连接(即通过 DSN),那么您是否使用 Windows odbcad32 工具验证了您可以成功连接到该 DSN?换句话说,首先证明您的 ODBC 连接在 python 之外有效。如果您使连接在 odbcad32 中工作,则副作用是将相关条目添加到 Db2 客户端配置文件(例如 db2cli.ini 或 db2dsdriver.cfg)。你也可以在python中选择长形式的连接(指定目标主机名或IP地址、端口号、数据库名称等)。
-
mao 当我检查是否可以通过 ODBC 连接进行连接时,我收到一条错误消息,指出在 db2dsdriver.cfg 或 db2cli.ini 中都找不到 DSN - 这些是相同的我在 python 中遇到的错误 - 我需要知道如何配置这些文件。 IBM 文档不是很有见地,我在网上找到的其他帖子都没有解决这个特定的错误(我一直无法找到一个很好的例子)
-
Parfait 我用的是Windows 10所以你指的设置不一样,不过谢谢你的回复!
标签: python python-3.x db2