从Linux命令行连接到远程DB2

问题描述 投票:0回答:2

我想连接到运行 DB2 for I 的远程 DB2 实例。基本上,我想从 DB2 批量加载数据并将其通过管道传输到本地 postgres 实例。

我的机器有 Debian Jessie,我下载并安装了 IBM Data Server Runtime Client(Linux AMD64 和 Intel EM64T)

我通过数据库管理工具(dbeaver)测试了连接,它有效。但是我无法让 CLI 在任何模式下工作。我尝试遵循 IBM 指南(如 https://www.ibm.com/support/knowledgecenter/en/SSEPEK_10.0.0/comref/src/tpc/db2z_clpconnectsyntax.html),但无济于事。

以上指南建议:

db2 => CONNECT TO myIP:myPort/myDB USER myid01 USING mypw01

但是我明白了

SQL0104N  An unexpected token "myIP:myPort/myDB" was found following 
"TO".  Expected tokens may include:  "<database-alias>".  SQLSTATE=42601

我在 IBM 纪录片中找不到任何有用的内容。

linux db2 debian
2个回答
2
投票

错误指出:

Expected tokens may include:  "<database-alias>"

您需要将其添加到您的命令中,例如:

db2 => CONNECT TO myIP:myPort/DB_ALIAS.myDB USER myid01 USING mypw01

可以通过对连接进行编目来创建数据库别名 (https://www.ibm.com/support/knowledgecenter/SSSNY3_10.1.0/com.ibm.db2.luw.qb.client.doc/doc/t0005621.html )。您可能需要运行以下命令:

$ db2 catalog tcpip node SERVER_NAME remote SERVER_IP server SERVER_TCP_PORT
$ db2 catalog database DB_NAME as DB_ALIAS at node SERVER_NAME

0
投票

一旦您创建了目录,即使不需要传递 IP 地址和端口详细信息,它也会轻松连接到该数据库(只需创建数据库的别名),只有您像下面的步骤那样创建了目录。

  1. 目录 TCPIP 节点 mynode 远程 XX.XX.XX.XX 服务器 50000 --> 正常步骤。
  2. 目录数据库 mydatabase 作为节点 mynode 上的 AKUMAR --> AKUMAR 是 mydatabase 的别名
  3. 使用 pwd 连接到 akumar 用户 userid 它将仅连接到提供数据库 IP(XX.XX.XX.XX) 的远程数据库
© www.soinside.com 2019 - 2024. All rights reserved.