从 Linux 命令行连接到远程 DB2

Kay*_*lon 6 linux db2 debian

我想连接到运行 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
Run Code Online (Sandbox Code Playgroud)

但我得到

SQL0104N  An unexpected token "myIP:myPort/myDB" was found following 
"TO".  Expected tokens may include:  "<database-alias>".  SQLSTATE=42601
Run Code Online (Sandbox Code Playgroud)

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

zli*_*lig 2

错误指出:

Expected tokens may include:  "<database-alias>"
Run Code Online (Sandbox Code Playgroud)

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

db2 => CONNECT TO myIP:myPort/DB_ALIAS.myDB USER myid01 USING mypw01
Run Code Online (Sandbox Code Playgroud)

可以通过对连接进行编目来创建 database_alias ( 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
Run Code Online (Sandbox Code Playgroud)