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

2024-04-12

我目前正在使用 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 文章 https://learn.microsoft.com/en-us/sql/t-sql/functions/openquery-transact-sql?view=sql-server-2017

我参考了这些网站:

  • - MSDN 一 https://social.msdn.microsoft.com/Forums/en-US/19022658-6a0c-416c-a524-234bd7c2b05e/openquery-limitation-max-8000-character?forum=transactsql - MSDN 二 https://social.msdn.microsoft.com/Forums/sqlserver/en-US/0847ad24-0dfe-4ae1-9788-5516c7830f40/using-openquery-with-variables-in-the-argument?forum=transactsql

并了解到我可以使用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,也不在安全组中)

非常感谢任何帮助。


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

So try:

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

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

See execute https://learn.microsoft.com/en-us/sql/t-sql/language-elements/execute-transact-sql?view=sql-server-2017/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绕过 OPENQUERY 的字符限制失败使用 EXECUTE 的相关文章

随机推荐

  • C++ 类,其基类和循环包含 [重复]

    这个问题在这里已经有答案了 文件 1 foo h ifndef FOO H define FOO H include baseclass h include bar h class Bar class Foo public baseclas
  • 如何让 div 在滚动到屏幕顶部后粘在屏幕顶部?

    我想创建一个 div 它位于内容块下方 但是一旦页面滚动到足以接触其顶部边界 它就会固定在适当的位置并随页面滚动 您可以简单地使用 css 将元素定位为fixed https developer mozilla org en US docs
  • 在 mongoDB 中的同一 API 中并行查询同一文档

    我有一个用打字稿编写的 API 我尝试使用 Promise allsettled 对同一文档运行并行查询 但它的性能更差 我猜它们是按顺序运行的 有没有办法在 mongoDB 的同一连接中对同一文档执行并行查询 这是代码 console t
  • 绑定值未传递给 WPF 中的用户控件

    我仔细观察了很久 却被困住了 我试图通过 Window 的绑定将参数从 Window 传递到 UserControl1 在 MainWindow 中 UserControl1 被包含两次 一次通过 MyValue 上的绑定传递参数 MyCu
  • 如何使用 jpa 规范添加不同的属性进行查询

    我正在使用 jhipster 标准和 jpa 规范来实现研究端点 嗯 它正在工作 但请继续向我发送副本 此型号有前置 public class Prestation extends AbstractAuditingEntity implem
  • 删除字符串开头和结尾的换行符

    我注意到 trim 不会从字符串的开头和结尾删除换行符 因此我尝试使用以下正则表达式来完成此操作 return str replace s n s n g 这并没有删除新的线条 我担心我已经超出了我的能力范围 EDIT字符串是用 ejs 生
  • 使用 jQuery 实现打字机效果

    编辑 我并没有真正问我原来问题中应该问的所有问题 为了帮助寻找类似答案的人更容易找到答案 问题最终是这样的 如何制作带有闪烁光标的打字机效果 该光标在语句末尾暂停 擦除语句并写入新语句 看看下面 Yoshi 的回答 它正是这样做的 demo
  • Android jetpack 导航组件对话框结果

    到目前为止 我仅使用导航组件即可成功导航到对话框并返回 问题是 我必须在对话框中执行一些操作并将结果返回到调用对话框的片段 一种方法是使用共享视图模型 但为此我必须使用 of activity 这会让我的应用程序有一个单例占用内存 即使我不
  • 如何在图像视图上画一个圆圈

    如何在用户触摸图像的位置在图像上绘制一个圆圈 图像是使用imageview设置的 我在网上找到了一种解决方案 它在新画布上创建图像位图并在其上绘制圆圈 解决方案位于http joerg richter fuyosoft com p 120
  • 将您的 Web 应用程序发布到野外

    假设您已经编写了下一个社交网络现象 或任何其他网络应用程序 您已选择 Java Tomcat Apache 和 Oracle 或您喜欢的任何设置 您知道希望将其发布到网络上并让人们注册并开始使用它 对于您在家中编写并希望将其传播到野外的东西
  • 比较两个数据表并选择第二个表中不存在的行

    我有两个数据表 我想从第一个数据表中选择第二个数据表中不存在的行 例如 Table A id column 1 data1 2 data2 3 data3 4 data4 Table B id column 1 data10 3 data3
  • STL 绳索 - 何时何地使用

    我想知道在什么情况下你会在另一个STL容器上使用绳子 绳子是一根可伸缩的绳子 实施 它们是为 高效运作涉及 字符串作为一个整体 操作如 赋值 串联和 子字符串花费的时间几乎是 与长度无关 细绳 与 C 弦不同 绳索是 非常合理的代表 长字符
  • 如何使用dynamoose查询本地dynamoDB?

    作为一名开发人员 我不想一直连接到 Amazon Web 服务 我在本地计算机上安装了 DynamoDB 引用了AWS Docs https docs aws amazon com amazondynamodb latest develop
  • 使用 array.filter 进行多级过滤

    我有一个过滤功能 它使用filter快速搜索数组中的文本 filtered filtered filter row gt return Object keys row some key gt return String row key to
  • 将 crontab 文件替换为 -e

    有人知道如何将文件放入 crontab e 吗 我无法使用 crontab 的常规形式为其提供路径 但仍需要替换整个内容 也许将 EDITOR 设置为某些内容 您可以使用以下命令将 cron 作业从文件中获取到 crontab 中 cron
  • 包含 Angular 2+ 日期管道格式的文本

    我正在尝试使用DatePipe在 Angular 2 中 我希望输出日期的格式为 08 23 2017 at 11 07 AM 但是 我无法找出包含文本的正确方法at以我的日期格式 当我这样指定格式时 my date date MM dd
  • CGO_ENABLED 如何影响动态链接和静态链接?

    我们正在编译要在 docker 上运行的 Go 代码 并且正在调查为什么我们的二进制文件没有执行 我们发现它缺少一些动态库 尽管我们想要静态链接的二进制文件 这就是它的编译方式 env GOOS linux CGO ENABLED 1 GO
  • Mongodb 文本搜索多个字段

    我有一个 mongodb 文档 如下所示 document title suburb id date 我想添加一个搜索功能 人们可以通过郊区和标题搜索文档 我正在使用文本搜索功能 我想要这样的东西 var search and search
  • 如何在多台机器之间共享 zsh 历史记录?

    我对在机器之间共享配置文件感到非常满意 但我发现我经常想在 zsh Ctrl R 中搜索 但我不记得在哪台机器上输入了命令 理想情况下 我希望它可以从我的任何机器中搜索先前命令的规范重复数据删除列表 鉴于我有时会在没有网络连接的情况下同时在
  • 绕过 OPENQUERY 的字符限制失败使用 EXECUTE

    我目前正在使用 SQL Server Management Studio 17 连接到 Oracle 数据库实例 然后提取一些数据并将其插入到我拥有的 SQL Server 表中 我尝试过执行以下操作 DROP TABLE IF EXIST