首页 > 解决方案 > 为什么几分钟后正常运行的 ODBC 连接会失败(Excel VBA / Oracle)?

问题描述

我将非常感谢有关此问题的任何反馈。

我们目前正在将我们的 VBA 工具迁移到 Windows 10 / Excel 2016。在我们的工具中,我们经常连接到 Oracle DB,获取数据并在 Excel 中处理它。

在Win10下,我选择了以下设置:

现在的问题:在新的 Excel 实例中启动工作簿时,我可以多次运行相关查询。然后在几分钟后(比如 5-10 分钟),代码在尝试连接到数据库时遇到错误“运行时错误'-2147418113 (8000ffff)':灾难性故障”(在运行 SQL 查询之前) .

我已经尝试将连接字符串更改为“数据源=”而不是“DSN=”-同样的事情。

这个怎么可能?首先它工作,然后它停止。关闭 Excel 并打开一个新 Excel 后,它会再次运行几分钟。

非常感谢您对此的帮助。

编辑:我现在将连接字符串重新表述为“更现代”的风格,但它不能解决问题。Driver={Oracle in OraHome112_64};dbq=something.net:1522/something_else.net;UID=user123;PWD=pw123;

EDIT2:连接字符串的另一个变体,同样的问题:strConn = "Provider=oraLEDB.Oracle.1;User ID=User123;Password=PW123;Data Source=something.net:1522/something_else.net"

标签: exceldatabaseoracleodbc

解决方案


重新启动 Excel 并使用 EDIT2 下的字符串后,结果不再出现错误。使用这个字符串已经稳定运行了几个小时。

希望这对将来的某人有所帮助,我花了大约 10 个小时才弄清楚。


推荐阅读