Gabriel R. Asked: 2012-12-06 13:45:52 +0800 CST2012-12-06 13:45:52 +0800 CST 2012-12-06 13:45:52 +0800 CST DB2 定义远程数据库别名 772 我在 AIX 上使用 DB2 9.7.0.3。 我想从远程数据库中选择数据,同时运行 DB2 9.7.0.3 for AIX,并将其插入到我连接的本地数据库中。 我相信对此的查询是 INSERT INTO SCHEMA.TABLE SELECT * FROM REMOTEDB.SCHEMA.TABLE 如何将 REMOTEDB 定义为远程数据库连接的别名? db2 remote 1 个回答 Voted Best Answer Chris Aldrich 2012-12-07T06:39:08+08:002012-12-07T06:39:08+08:00 首先,您需要对远程实例进行编目。 db2 catalog tcpip node <my alias node name> remote <host or host alias name> server <port> 发出db2 terminate以确保目录条目仍然存在。 现在您可以实际编目远程数据库。 db2 catalog db <remote database name> as <local alias> at node <node alias supplied above> 并再次发出db2 terminate 这是一个示例: db2 catalog tcpip node devinst1 remote devservera server 50100; db2 terminate; db2 catalog db crmdb as remotedb at node devinst1; db2 terminate; 现在,您可以根据需要使用数据库名称 (crmdb) 或别名 (remotedb) 连接到该本地数据库。 注意:有时您可能会遇到问题,它会说有关空包 ID 的内容。这意味着需要绑定特定的包才能使连接正常工作。解决这个问题的最简单方法是让您的实例所有者 ID(远程数据库)进行第一次连接,然后断开连接,或者让您使用的 id 具有BINDADD权限。然后正确的包将被绑定。您可能不会遇到这种情况,特别是如果您使用相同的版本和 DB 的修订包级别。如果您在“客户端”和“服务器”之间存在差异,那么您肯定必须这样做。
首先,您需要对远程实例进行编目。
发出
db2 terminate
以确保目录条目仍然存在。现在您可以实际编目远程数据库。
并再次发出
db2 terminate
这是一个示例:
现在,您可以根据需要使用数据库名称 (crmdb) 或别名 (remotedb) 连接到该本地数据库。
注意:有时您可能会遇到问题,它会说有关空包 ID 的内容。这意味着需要绑定特定的包才能使连接正常工作。解决这个问题的最简单方法是让您的实例所有者 ID(远程数据库)进行第一次连接,然后断开连接,或者让您使用的 id 具有
BINDADD
权限。然后正确的包将被绑定。您可能不会遇到这种情况,特别是如果您使用相同的版本和 DB 的修订包级别。如果您在“客户端”和“服务器”之间存在差异,那么您肯定必须这样做。