我想连接到运行 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 纪录片中找不到任何有用的内容。
错误指出:
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
一旦您创建了目录,即使不需要传递 IP 地址和端口详细信息,它也会轻松连接到该数据库(只需创建数据库的别名),只有您像下面的步骤那样创建了目录。