我正在对 Access 数据库使用 OleDbConnection、OldDbCommand 和 OleDbReader。
我在从代码中调用的数据库中有一个命名查询。
从访问权限运行查询时,该查询可以正常工作。
一些资源表明错误可能是由于在查询中使用保留字并用括号括起来引起的。我没有使用任何保留字,并且无论如何都将所有列名括在括号中以排除它。
为了确定问题出在哪里,我将查询简化为一个简单的
SELECT id FROM table1 WHERE id = 5
其中 Ole 连接不会引发异常。
当我介绍查询的下一部分时:
SELECT table1.id FROM table1 INNER JOIN storedQuery ON table1.id = storedQuery.id WHERE table1.id = 5"
然后我得到了例外。
异常详情如下:
- 消息:IErrorInfo.GetDescription 失败,出现 E_FAIL(0x80004005)。
- 错误代码:-2147467259
- 本机错误:-533136361
- SQL 状态:3000