我在AIX中使用DB2 9.7.0.3。
我希望从远程数据库中选择数据,同时也为AIX运行DB2 9.7.0.3,并将其插入到连接到的本地数据库中。
我认为对此的查询是
INSERT INTO SCHEMA.TABLE
SELECT * FROM REMOTEDB.SCHEMA.TABLE
如何将REMOTEDB定义为远程数据库连接的别名?
发布于 2012-12-06 06:39:08
首先,您需要对远程实例进行编目。
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;
现在,您可以根据需要使用db名称(crmdb)或别名(remotedb)连接到该本地数据库。
注意:有时您可能会遇到一些问题,在这些问题中,它会说一些关于空包id的内容。这意味着,需要绑定特定的包才能使连接正常工作。解决这个问题的最简单方法是让您的实例所有者id (远程数据库的)进行第一个连接,然后断开连接,或者让您正在使用的id具有BINDADD
权限。那么正确的包裹就会被绑定。您可能不会遇到这种情况,特别是如果您在DB的相同版本和修复包级别上。如果您在“客户端”和“服务器”之间有不同之处,那么您肯定必须这样做。
https://dba.stackexchange.com/questions/29899
复制相似问题