使用不同身份验证DB2在数据库之间复制表

时间:2011-10-19 20:13:46

标签: database authentication copy db2 procedure

Hey StackOverflow社区,

我的问题如下: 我有一张桌子,说USER_ADDR在一个数据库中有一堆列,比如说DB001 我需要将此表的内容(基于标准)复制到具有不同userID和pwd的另一个数据库USER_ADDR中的类似表DB002(同名,是)。

我需要在将使用.net框架执行的存储过程中执行此操作。 我试过这个:

INSERT INTO "DB002".USER_ADDR (--column names--)  
SELECT * 
FROM "DB001".USER_ADDR 
WHERE ID = "APPLICATION_NO_IN";

我明白了:

  

0:发生错误:[IBM] [DB2 / NT64] SQL0204N“DB002.USER_ADDR”是未定义的名称。 LINE NUMBER = 15。 SQLSTATE = 42704:-204:IBM.Data.DB2:42704

我做错了什么?

提前致谢 瓦甚斯特

2 个答案:

答案 0 :(得分:0)

另一种方法是使用连接到两个数据库的外部脚本。 从一个数据库开始是不可能的,至少你可以使用,如前所述,信息集成(联合)或导出数据然后加载它。

答案 1 :(得分:0)

我在看到有关您的用例的其他信息后删除了我的其他答案。负载主要用于大量记录的批量加载。

在这种情况下,我建议您执行类似.Net中的open connection1到您的数据源的操作,选择数据并将其保存在.Net DataTable中。如果需要,您可以在存储过程中选择返回单个行的单个列值,或返回包含所有列(和行)的游标(行集)。然后在.Net open connection2中,将DataTable中的数据插入到目的地。同样,这可以通过存储过程来完成。