【发布时间】:2019-05-30 20:57:45
【问题描述】:
我目前正在使用 SQL Server Management Studio 17 连接到 Oracle 数据库实例,然后提取一些数据并将其插入到我拥有的 SQL Server 表中。
我已尝试执行以下操作:
DROP TABLE IF EXISTS [jerry].[dbo].[purchases]
SELECT * INTO [jerry].[dbo].[purchases] FROM OPENQUERY(OLAP, '
proprietary sql code
');
但是 SQL 代码大约有 9500 个字符,因此 OPENQUERY 失败,MSDN articles 支持
我参考了这些网站:
并了解到我可以使用EXEC 来实现我的目标。
我试图实现以下内容:
EXEC master.dbo.sp_serveroption @server=N'OLAP', @optname=N'rpc out', @optvalue=N'true'
DECLARE @sqlcode VARCHAR(MAX)
SET @sqlcode = 'sql code'
DROP TABLE IF EXISTS [jerry].[dbo].[purchases]
EXEC @sqlcode AT OLAP
但是,我仍然收到 Invalid Syntax near OLAP 错误。
我已经确认 OLAP 是我们 DBA 的正确名称,其他 OPENQUERY 函数工作正常(使用更短的 SQL 语句)。
- 我无法编辑 SQL 查询
- 我无法编辑外部 OLAP 的数据库权限(我不是 DBA,也不属于安全组)
非常感谢任何帮助。
【问题讨论】:
-
不确定,但此链接包含有关您正在使用的链接服务器的大量信息,以及您是否可以检查它。 sqlshack.com/link-sql-server-oracle-database
标签: sql sql-server oracle tsql ssms