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
我做错了什么?
提前致谢 瓦甚斯特
答案 0 :(得分:0)
另一种方法是使用连接到两个数据库的外部脚本。 从一个数据库开始是不可能的,至少你可以使用,如前所述,信息集成(联合)或导出数据然后加载它。
答案 1 :(得分:0)
我在看到有关您的用例的其他信息后删除了我的其他答案。负载主要用于大量记录的批量加载。
在这种情况下,我建议您执行类似.Net中的open connection1到您的数据源的操作,选择数据并将其保存在.Net DataTable
中。如果需要,您可以在存储过程中选择返回单个行的单个列值,或返回包含所有列(和行)的游标(行集)。然后在.Net open connection2中,将DataTable中的数据插入到目的地。同样,这可以通过存储过程来完成。