【发布时间】:2015-09-19 14:47:08
【问题描述】:
这里是初学者。
我有一个用 MFC Vicual C++ 构建的应用程序,使用 VS2010 编译。我有一个 DSN 作为与实时 Excel 电子表格的 ODBC 连接(通过 Excel 驱动程序)。
我的应用每秒查询一个电子表格。如果一个单元格的值发生变化(由于涉及其他单元格接收实时数据馈送的简单计算的结果),应用程序会打印新值,然后返回查询更改。
应用程序在一段时间内正常工作,当新数据到达提要时,会尽职尽责地打印单元格值的变化。然后,它总是会产生一个错误:
“Microsoft Jet Engine 找不到对象 '(unknown)' 确保该对象存在并且您正确拼写了它的名称和路径名。”
文件路径都是绝对的。
我推测,只要查询恰好与正在更新的单元格内容一致,就会生成错误。我可以通过单击被调查的单元格并触摸一个键(开始编辑单元格,这里通过改写单元格公式),始终立即生成完全相同的错误消息和行为。
Afx 错误对话框运行。如果我“确定”并选择 excel 文件,应用程序将返回并运行,直到出现新的相同错误。但是如果我选择“取消”,应用程序就会退出。
如果我注释掉我自己的错误捕获,这个对话框仍然会出现。
我希望应用程序“无头”运行并仅重试连接数据库。
有什么方法可以在这里覆盖吗?
我意识到 Excel 不适合并发(多用户)访问。但我不需要并发访问——当“其他东西”改变它时,我不在乎看到单元格。我只是想(等待并)重试。
在此向您询问有关恐龙骨骼技术的问题,提前致歉。我需要查询实时数据这一事实导致我对 ODBC 进行了反复试验(libxl 只看到文件数据和公式,而不是它们的值)。
【问题讨论】:
标签: c++ excel visual-studio-2010 mfc odbc