gpt4 book ai didi

sql - 绕过 OPENQUERY 失败使用 EXECUTE 的字符限制

转载 作者:行者123 更新时间:2023-12-04 16:56:41 25 4
gpt4 key购买 nike

我目前正在使用 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

但是,我仍然收到 OLAP 附近的无效语法 错误。我已经确认 OLAP 是我们 DBA 的正确名称,其他 OPENQUERY 函数工作正常(使用更短的 SQL 语句)。

  • 我无法编辑 SQL 查询
  • 我无法编辑外部 OLAP 的数据库权限(我不是 DBA,也不在安全组中)

非常感谢任何帮助。

最佳答案

不带括号的 EXEC 运行存储过程。

所以尝试:

truncate table [jerry].[dbo].[purchases]

insert into [jerry].[dbo].[purchases]
exec ( @sqlcode ) at olap

参见 execute

关于sql - 绕过 OPENQUERY 失败使用 EXECUTE 的字符限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56385540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com