0

我正在尝试调试客户端的应用程序。该应用程序使用 MSVC(非托管)C++ 构建。它连接到 MS Access DB(通过 ODBC)。

当 MS Access DB 位于本地驱动器上时,通过 ODBC 提交的所有查询都可以正常完成。

当数据库位于网络驱动器上时,我们会遇到问题。似乎所有基于“Select”的查询(如“Select * from FOO”)都成功返回。

当我们尝试通过删除、插入或更新数据来推送查询时,ODBC 调用会失败。该调用不会返回任何特别有用的信息。它返回 -1 作为结果(表示失败)。我检查了句柄(SQL_HANDLE_ENV、SQL_HANDLE_DBC、SQL_HANDLE_STMT)以查看是否有与失败相关的其他错误信息。

例如,当我们尝试删除时,我们得到的错误消息是:“[Microsoft][ODBC Microsoft Access Driver] 无法从指定的表中删除。”

我们很难弄清楚问题是什么。有没有办法我们可以获得有关错误的更多有用信息(ODBC 跟踪等)?

奇怪的是,简单的选择似乎工作正常,而任何添加/删除/修改数据的操作似乎都失败了。

调试这个的最佳策略是什么?有没有人有任何想法可以帮助我们解决这个问题?

这些是用户/特权可访问性问题的症状吗?

4

0 回答 0