【发布时间】:2018-11-04 23:15:23
【问题描述】:
我正在处理一个需要自动运行插入语句来插入结果集的项目 - 问题是我需要它从 SQL Server 转到 DB2 服务器。我无法创建文件或脚本,然后将其导入或在另一端运行。我需要从 SQL Server 端插入或更新 DB2 端。
这可能吗?我需要它作为 SQL Server 中存储过程的一部分自行运行。
【问题讨论】:
标签: sql-server db2 dbeaver
我正在处理一个需要自动运行插入语句来插入结果集的项目 - 问题是我需要它从 SQL Server 转到 DB2 服务器。我无法创建文件或脚本,然后将其导入或在另一端运行。我需要从 SQL Server 端插入或更新 DB2 端。
这可能吗?我需要它作为 SQL Server 中存储过程的一部分自行运行。
【问题讨论】:
标签: sql-server db2 dbeaver
您正在寻找linked server feature。
通常将链接服务器配置为使数据库引擎能够执行 Transact-SQL 语句,该语句包括另一个 SQL Server 实例或另一个数据库产品(如 Oracle)中的表。许多类型的 OLE DB 数据源都可以配置为链接服务器,包括 Microsoft Access 和 Excel。链接服务器具有以下优势:
- 从 SQL Server 外部访问数据的能力。
- 能够在整个企业的异构数据源上发布分布式查询、更新、命令和事务。
- 以类似方式处理不同数据源的能力。
(我相信大多数主要的 RDBMS 都有类似的功能)
在大多数情况下,这实质上允许您将其他数据库中的表或源视为 SQL Server 实例的一部分 - INSERT 语句应该“正常”工作.
【讨论】:
如前所述,您可以使用 SQL Server 端的链接服务器在两台服务器之间执行操作。在从 SQL Server 在 DB2 上运行 DML 方面我没有做太多工作,但根据我的经验,对于使用 OLE DB 连接将数据从 DB2 拉到 SQL Server 的事务,SSIS 的性能远优于链接服务器。您可以在 SSIS here 中阅读有关 OLE DB 连接的更多信息,并且您需要参考用于在此处设置连接的详细信息的特定 DB2 类型(大型机、LUW 等)的 DB2 文档。如果您设置 SSIS 目录,您可以使用 SQL Server 存储过程运行包,您可以直接使用或从现有用户存储过程执行。
【讨论】: