Python3和IBM_DB安装问题

2024-06-12 01:59:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前使用的是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 从以下链接:

https://www.ibm.com/support/knowledgecenter/en/SSSNY3_10.1.0/com.ibm.swg.im.dbclient.python.doc/doc/r0054697.html

我已经安装了ODBC驱动程序(ibmdb2odbc驱动程序),并在windows10机器上的ODBC数据源管理器界面中进行了配置。我还为一个sqlserver连接使用了相应的设置。在

我遇到的问题是我收到了以下错误:

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和it需求,需要帮助配置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,但无法连接到IBMiSeries AS400系统。在

我已经研究了这个问题的许多部分,但没有找到解决问题的办法。在

应要求,我添加了以下信息:

连接字符串:

^{pr2}$

ODBC版本为11.01.00.1527

我正在连接一个IBMiSeries数据库—它运行在SystemI上,运行的是V7.2


Tags: thehttpscomsupportdochtmlwwwibm
1条回答
网友
1楼 · 发布于 2024-06-12 01:59:42

这个答案展示了一些如何使用db2的例子cli.exe文件配置db2驱动程序.cfg在

请记住,您不需要在python中使用dsn连接到Db2数据库,您可以使用connect的长形式来指定连接的所有细节。当DSN由多个不同的本地应用程序使用(因此配置只在一个位置),或者当python脚本需要在多个环境中运行时,使用DSN非常有用,这些环境可能使用不同的DSN细节而不需要更改代码,并且DSN由不同的组控制,或者DSN参数是特定于环境的。因此,选择适合您企业的最佳方法。在

如果必须使用dsn,请根据您的环境和要求选择用户dsn或系统dsn。在

选择用于Db2客户机的配置文件格式。db2cli.ini文件是一个旧的传统格式的Windows样式INI文件,其中x=y元组和[section]块为纯文本。您可以使用文本编辑器或Db2的命令行命令来操作其内容。这个旧格式有足够的在线文档,并且已经存在了几十年了,所以我不打算再详细介绍。在

db2驱动程序.cfg文件是较新的格式。它是一个XML文件。您可以使用Db2命令(Db2cli.exe文件或通过文本编辑器(或XML编辑器)。对于当前支持Db2客户机的新环境,我将使用这种格式。作为它的XML,有一个验证步骤(db2clivalidate…)。在

在线Db2知识中心提供了所有这些信息,但是您确实需要花时间研究许多页面,并仔细排练和测试。在

下面是一些批处理文件脚本的示例行,可以在administratordb2中运行这些脚本命令行.exewindows上的窗口,它展示了如何使用db2cli.exe文件填充db2的工具驱动程序.cfg. 您必须至少具有本地管理员权限才能运行这些命令。在

首先设置一些变量以匹配您的特定环境、端口号、Db2服务器的主机名、凭据和DSN以及远程数据库名称(这两个值可以是不同的)。然后运行db2cli将条目写入db2驱动程序.cfg使用前面设置的变量,最后运行db2cli尝试连接到DSN。 这些都是一些小例子,在实际情况下,您通常需要向database部分或DSN部分添加许多附加参数(不同平台上的Db2支持许多可以在连接时设置的选项)。您可以通过db2cli writecfg add语法设置其中任何一个,尽管IBM的文档在这方面的帮助不大。 这些示例假设您的db2驱动程序.cfg当前为空。 您可能需要额外的参数来连接到db2fori。你还需要相关的执照。将下面的示例保存到批处理文件中,更改值以适合您的环境,并在开发或测试环境中排练。在

set db2_port=port_number_on_which_db2_is_listening

set db2_server=ip_address_or_fqdn_of_db2_server

set db2_id_to_connect=myusername

set db2_id_pwd=password

set dsn_name=sample

set db_name=sample


db2cli writecfg add -dsn %dsn_name% -database %db_name% -host %db2_server% -port %db2_port%  


db2cli writecfg add -database %db_name% -host %db2_server% -port %db2_port% 

db2cli validate -dsn %dsn_name% -connect -user %db2_id_to_connect% -passwd %db2_id_pwd% 

相关问题 更多 >