DB2创建连接字符串的疑惑

Doubts to create connection string with DB2

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

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

我试过这样的事情:

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

但没有成功,返回了以下消息:

DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL1024N A database connection does not exist. SQLSTATE=08003

提前致谢。

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

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

  • 使用db2命令(需要完成之前的目录操作)
  • 使用 CLPplus 命令(接受连接字符串)
  • 使用类似 isql
  • 的 odbc 接口
  • 使用db2cli工具(更适合高手,也需要预先配置db2dsdriver.cfgand/ordb2cli.ini)

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

您可以使用 Db2 命令行处理器 = db2 命令,通过使用 db2 connect to $DATABASENAME user $USER using $PASSWD(您为变量提供自己的值)。这不接受连接字符串。但是在该连接命令可以从远程成功之前,您必须使用 db2 catalog database $DBNAME as $DBALIAS at node $NODENAME 命令在该节点上 catalog the node on which the database lives (using the db2 catalog tcpip node .... remote ... server ... command), and then 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 一起提供。有关使用详情,请参阅文档。