【发布时间】:2016-04-11 22:53:55
【问题描述】:
我正在使用 SQL Server Express,我创建了一个连接到 Oracle 数据库的链接服务器。
如标题所示,我想将从本地表中选择的数据插入到链接服务器的表中。
我尝试了许多查询,但没有一个按我的意愿工作。
我使用的下面这个查询有效,但仅适用于静态值,但我想从本地数据库的表中动态插入数据。
INSERT OPENQUERY (ORTEST, 'SELECT * FROM reservation')
VALUES (2, '2', 3);
【问题讨论】:
-
能否请您从本地数据库的表中动态澄清一下
-
我要插入表中的数据(在链接服务器上)应该从本地数据库的表中选择
-
我个人认为你是在倒退。原因是我不喜欢从本地推送到遥控器。从远程读取并在本地执行 DML 比在本地读取和远程执行 DML 要容易得多。什么具有不同的权限、语法等。我总是从远程提取并在本地存储。因此,在您的 Oracle 实例上,您需要建立与 SQL Server 的连接并获取数据。不是反过来。话虽如此,我对 oracle 的了解并不多。
-
OPENQUERY 在链接服务器上运行给定的查询。因此,除非您想使用动态 sql 构建整个 SQL 并运行它,否则它不适用于从 localDB 查询插入。 @Stephane 下面给出的答案似乎是正确的。
标签: sql-server oracle tsql linked-server openquery