2011-06-20 187 views
5

我有两台运行Workgroup的DB2服务器。例如,Server1和Server2。从命令行执行DB2命令到远程服务器

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

有人可以向我解释完全我需要做的,以完成这一步。我是否仅仅使用DB2ADMIN登录进行crendentials或者我是否需要设置其他登录?

回答

17

您需要对Server2上的Server1数据库进行编目。

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

如果服务器是* nix,那么您需要登录一个用户,该用户的db2可执行文件已加载到.profile中。 (如果您不确定,请检查db2实例所有者的.profile)。

如果服务器是Windows,那么您可以以任何可以看到IBM DB2 Program Group的人身份登录,并且可以打开DB2 Command Window或类似命令。

从Server2上的命令行,您需要将Server1作为TCPIP节点进行编目。该文档是here。它可能是这样的:

db2 catalog tcpip node server1 remote Server1 server 50000 

接下来,您需要在节点上编目数据库。该文档是here。它可能会是这样的:

db2 catalog database <dbname> at node server1 

如果您需要检查命令的结果,您可以使用LIST NODE DIRECTORYLIST DATABASE DIRECTORY看到已经编目什么DB2。

一旦你完成了所有你应该能够从服务器2连接到数据库Server1上:

db2 connect to <dbname> user <username> using <pwd> 

一旦连接完成,你应该能够查询远程数据库。

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

+2

请注意,有一些像LIST APPLICATIONS这样的命令需要先连接到远程实例。不过,使用SYSIBMADM模式中的管理视图可以解决大部分问题。 –

+0

谢谢 - 我能够得到这个工作。你知道如果我需要删除这个后,我运行我的查询?如果我离开它,其他人是否可以使用它,或者他们是否需要执行相同的操作? – user500741

+0

我更新了我的答案,提供了有关取消编目目录条目的信息。如果离开它,其他人就可以使用它,只要知道数据库名称,用户标识和密码组合即可进行连接。 –