微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

打开 ADODB 记录集时出现系统错误

如何解决打开 ADODB 记录集时出现系统错误

我制作了一个执行以下操作的宏:

  • 识别用 Excel 编写的 sql 代码(使用命名范围)
  • 创建/保存包含 sql 查询的文本文件
  • 通过与 sql Server Management Studio 18 的 ADODB 连接运行 sql 查询
  • 将结果记录集返回到 Excel(我有 32 位版本)

我已经测试了许多查询代码,它按预期工作。但是,通过一个查询,我在尝试打开记录集时收到“系统错误和 H80004005 (-2147467259)”(“rs.open”行)。此查询(存储在“rs.source”中)的唯一显着特点是:

  • 查询异常长(大约 1,500 行,而其他查询大约 500 行)
  • 它产生很多记录(四个输出表。两个很小,两个每个大约有 35,000 条记录)
  • 它访问 sql 中的许多数据表(9 个表)

在运行了几次诊断后,我非常有信心:

我的连接字符串是正确的: 我已成功将相同的连接字符串用于同一服务器上的其他 sql 查询

sql 查询正确,并且存储正确:我已成功在 sql Server Management Studio 中手动复制、粘贴和运行文本文件(由 VBA 代码生成)。 >

记录集的源(在 VBA 中)能够保存整个查询:将记录集的源分配给文本文件后,我将记录集的源写入新的文本文件以确保它是存储整个查询。原来如此。

这不是正在生成的记录或表的数量我编辑了查询,以便只生成一个小记录集,但我仍然遇到相同的错误

我试图找到其他遇到类似错误的帖子,但似乎没有太多关于这个问题的帖子(以及我发现的与管理插件相关的建议解决方案)。我将附上一段代码,该代码在 rs.Open 行中出错。我对 VBA 比较陌生,对 sql 非常陌生(我没有编写任何这些 sql 查询),所以如果我遗漏了一些明显的东西,我深表歉意。感谢您的任何指导。 Code Snippet

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。