使用 DB2 创建连接字符串的疑问



我想知道是否有人具有 DB2 数据库的连接字符串模型?

该数据库位于 Linux Centos 7 服务器上。

我尝试了这样的事情:

db2 Database=SI;Hostname=VMCENTDB2;Protocol=TCPIP;Port=3700;Uid=db2inst1;Pwd=password;

但它不起作用,并返回以下消息:

DB21034E 该命令被处理为 SQL 语句,因为它是 不是有效的命令行处理器命令。 在SQL处理期间 返回:SQL1024N 数据库连接不存在。 SQLSTATE=08003

提前谢谢。

您的命令对db2命令无效,因为它不接受连接字符串。其他工具可以。

如果要连接到 Db2 数据库,那么可以从shell 命令行使用不同工具提供的不同选项:

  • 使用db2命令(需要完成以前的目录操作(
  • 使用 CLPplus 命令(接受连接字符串(
  • 使用 ODBC 迭代面,如 ISQL
  • 使用 DB2CLI 工具(更适合专家,还需要预先配置 DB2DSDRIVER.cfg 和/或 DB2CLI.ini(。

不同的选项适用于不同的目的,不同的技能组合等。

通过使用db2 connect to $DATABASENAME user $USER using $PASSWD,可以使用 Db2 命令行处理器 =db2命令(为变量提供自己的值(。 这不接受连接字符串。但是,在远程连接命令成功之前,必须对数据库所在的节点进行编目(使用db2 catalog tcpip node .... remote ... server ...命令(,然后使用db2 catalog database $DBNAME as $DBALIAS at node $NODENAME命令对该节点上的数据库进行编目。 有关这些命令的详细信息,请参阅联机 Db2 知识中心。 这是从MS-Windows,Linux或Unix到Db2的最古老的shell接口形式,并且对于cmd.exe,bash或ksh等非常脚本友好。 但是许多人不喜欢作为远程工作的先决条件的目录操作,尽管这些操作很容易编写脚本。

请注意,如果您通过 ssh 连接到 centos 服务器并获取了一个 shell,那么不需要对本地数据库进行编目,只要您的登录 shell 在正确的 db2profile 文件中点,就可以使用db2命令连接到它们。

不能对 Db2-CLP(命令行处理器(使用连接字符串,但可以在基于 Java 的 CLPPlus 工具中使用连接字符串,从而避免编目。CLPlus 对于熟悉 Oracle SQLPlus 语法且不需要任何目录操作的用户非常有用。

CLPPlus 命令随 Db2 服务器、Db2 运行时客户机和 Db2 数据服务器客户机一起提供,但它不附带占用空间很小的 Db2 clidriver。 有关使用详细信息,请参阅文档。

最新更新