跨多个服务器查询的简单方法?

时间:2014-03-24 21:16:11

标签: sql database db2 ibm-midrange

我在VS2012中设置了2个服务器连接,DEV& PROD。这两个连接是DB2 / AS400。有没有一种简单的方法从DEV查询,然后运行INSERT到PROD?

我知道我可以创建一个程序来查询DEV端,将结果存储在DataGrid或ListView控件中,然后循环并插入到PROD中,但我想知道是否有一种简单的方法可以通过SQL执行此操作本身?

2 个答案:

答案 0 :(得分:5)

使用DB2 / 400和VS2012没有简单的方法。使用VS2012,您必须在一个对象中存储来自一台服务器的数据(如您所述)并将其推送到另一台服务器。

如果您正在运行v7r1 tech refresh 4,则可以使用远程数据库(关系数据库目录条目),然后执行insert into ... select from将数据从一个系统复制到另一个系统。此处描述了此功能:http://www.itjungle.com/fhg/fhg072512-story02.html和技术更新4的详细信息在此处:http://db2fori.blogspot.com/2012/04/db2-wiki-refresher.html

虽然未经测试,但我建议 - 如果您安装了SQL Server,则可以创建2个链接服务器 - 一个用于Dev,另一个用于Prod。然后,您可以从SQL Server引用dev和prod执行插入...查询。

答案 1 :(得分:3)

这取决于你所说的“简单”。如果您有DB2 Connect Unlimited Edition for System i,则可以“简单”。 (DB2 Connect for i实际上包含'联合'功能。)

如果你想编码到SQL CLI APIs并使用服务器模式,它几乎和ODBC一样“简单”(假设你以前使用过它并建立了一个程序库;然后需要一些思考和实践才能看到它如何能够满足您的需求。

您始终可以将本机I / O与远程SQL结合使用。如果您没有足够的行,您也可以连接到DEV并将它们块-FETCH全部放入一个数组中。然后断开并连接到PROD,并从阵列中阻止INSERT。