【问题标题】:Doubts to create connection string with DB2怀疑用 DB2 创建连接字符串
【发布时间】:2025-09-03 11:20:01
【问题描述】:
我想知道是否有人有 DB2 数据库的连接字符串模型?
数据库位于 Linux Centos 7 服务器上。
我尝试过这样的事情:
db2 Database=SI;Hostname=VMCENTDB2;Protocol=TCPIP;Port=3700;Uid=db2inst1;Pwd=password;
但它不起作用并返回以下消息:
DB21034E 该命令被作为 SQL 语句处理,因为它是
不是有效的命令行处理器命令。在 SQL 处理期间
返回:SQL1024N 数据库连接不存在。
SQLSTATE=08003
提前致谢。
【问题讨论】:
标签:
linux
database
db2
database-administration
【解决方案1】:
您的命令对db2 命令无效,因为它不接受连接字符串。其他工具可以。
如果您想连接到 Db2 数据库,从 shell 命令行您可以使用不同工具提供的不同选项:
- 使用
db2 命令(需要完成之前的目录操作)
- 使用 CLPplus 命令(接受连接字符串)
- 使用像isql这样的odbc iterface
- 使用db2cli 工具(更适合专家,还需要预先配置 db2dsdriver.cfg 和/或 db2cli.ini)。
不同的选项适用于不同的目的,不同的技能组合等。
您可以使用 Db2 命令行处理器 = db2command,通过使用 db2 connect to $DATABASENAME user $USER using $PASSWD(您为变量提供自己的值)。这不接受连接字符串。但在远程连接命令成功之前,您必须在数据库所在的catalog the node 上(使用db2 catalog tcpip node .... remote ... server ... 命令),然后在该节点上使用db2 catalog database $DBNAME as $DBALIAS at node $NODENAME 命令catalog the database。有关这些命令的详细信息,请参阅在线 Db2 知识中心。这是从 MS-Windows、Linux 或 Unix 到 Db2 的最古老的 shell 接口形式,并且对 cmd.exe 或 bash 或 ksh 等脚本非常友好。但是许多人不喜欢作为远程工作先决条件的目录操作, 虽然很容易编写脚本。
注意,如果你 ssh 到 centos 服务器并获得一个 shell,那么你不需要编录本地数据库,你可以使用 db2 命令连接到它们,只要你的登录 shell 点在正确的 db2profile 中文件。
您不能使用 Db2-CLP(命令行处理器)的连接字符串,但您可以在基于 java 的 CLPPlus 工具中使用连接字符串从而避免需要编目。 CLPlus 对于熟悉 Oracle SQLPlus 语法并且不需要任何目录操作的人很有用。
CLPPlus 命令随 Db2 服务器、Db2 运行时客户端和 Db2 数据服务器客户端一起提供,但它不随占用空间很小的 Db2 clidriver 一起提供。有关使用详情,请参阅文档。