[英]DB2 : Python ibm_db2 connecting, which port to use?
我正在尝试连接到远程db2实例。 我似乎遇到了连接端口问题或协议问题。 下面是一个示例连接设置。 使用TCPIP和python的默认连接端口是什么? 我正在到达服务器,但无法创建与数据库的连接。 数据库存在。
connection = ibm_db.connect("DATABASE=DATABASE_NAME;HOSTNAME=host;PORT=50000;PROTOCOL=TCPIP;UID=username;PWD=password;", "", "")
我收到以下错误:
例外:[IBM] [CLI驱动程序] SQL30061N在远程节点上找不到数据库别名或数据库名称“ DATABASE_NAME”。 SQLSTATE = 08004 SQLCODE = -30061
错误消息似乎很清楚,但原因可能有所不同。 数据库名称或端口号很可能不正确。
如果Db2服务器响应指示Db2在侦听指定端口号的Db2实例中的HOSTNAME上找不到指定的数据库,则会收到该消息。
根据可用的硬件资源,一个Db2-LUW主机名可能同时运行多个Db2实例(每个实例侦听不同的端口号)。
一个Db2-Linux / Unix / Windows实例内部可以有许多物理数据库,每个物理数据库都有不同的名称和一个或多个别名。
向您的DBA或同事询问每个主机名的正确数据库名称和端口号。
将ssh(或远程桌面)替换为该主机名,找到监听端口50,000(或您使用的任何端口)的进程的所有者 (用户ID),成为该用户ID(对于Linux / Unix:使用su或sudo)并使用db2 list db directory
命令可显示该Db2实例中的本地数据库。 对于Windows上的Db2-服务器:开始> db2cwadmin.bat> db2 list db directory。 在Linux / Unix上,使用ps -ef | grep db2sysc
ps -ef | grep db2sysc
可以查看正在运行的Db2实例的数量,您可以使用该信息(以及netstat)来发现它们正在侦听的端口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.