从命令行执行DB2命令到远程服务器

use*_*741 5 db2

我有两个运行Workgroup的DB2服务器.例如,Server1和Server2.

从Server2,在命令提示符下,我想对Server1上的已知数据库运行SQL命令.

有人可以向我解释为了实现这一目标我需要做的步骤.我只是将DB2ADMIN登录用于crendentials,还是需要设置其他登录?

Mic*_*rek 17

您需要在Server2上编目Server1数据库.

您没有提到服务器是Windows还是*nix.

如果服务器是*nix,则需要使用在其.profile中加载了db2可执行文件的用户登录.(如果您不确定,请检查db2实例所有者的.profile).

如果服务器是Windows,那么您可以以任何可以查看IBM DB2程序组的人身份登录,并可以打开DB2命令窗口或类似命令.

从Server2上的命令行,您需要将Server1编目为TCPIP节点.医生就在这里.它可能是这样的:

db2 catalog tcpip node server1 remote Server1 server 50000
Run Code Online (Sandbox Code Playgroud)

接下来,您需要在节点上编目数据库.医生就在这里.它可能是这样的:

db2 catalog database <dbname> at node server1
Run Code Online (Sandbox Code Playgroud)

如果需要检查命令的结果,可以使用LIST NODE DIRECTORYLIST DATABASE DIRECTORY来查看db2已编目的内容.

完成所有操作后,您应该能够通过以下方式从Server2连接到Server1上的数据库:

db2 connect to <dbname> user <username> using <pwd>
Run Code Online (Sandbox Code Playgroud)

建立连接后,您应该能够查询远程数据库.

除非您明确删除它,否则此信息将保留在本地db2目录中.(您可以通过注销,重新登录并使用LIST NODE DIRECTORY或LIST DB DIRECTORY来验证).如果要删除条目,可以使用UNCATALOG DATABASEUNCATALOG NODE命令.

  • 请注意,有些命令(如LIST APPLICATIONS)要求您首先连接到远程实例.但是,可以使用SYSIBMADM模式中的管理视图解决大多数这些问题. (2认同)