gpt4 book ai didi

exception - 是什么导致了我的 OLEDbException,IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败

转载 作者:行者123 更新时间:2023-12-04 00:27:48 29 4
gpt4 key购买 nike

我正在对 Access 数据库使用 OleDbConnection、OldDbCommand 和 OleDbReader。

我在数据库中有一个命名查询,我从代码中调用它。

当它从 Access 运行时,查询工作正常。

一些资源表明错误可能是由在查询中使用保留字并用括号括起来引起的。我没有使用任何保留字,并且无论如何都将所有列名括在括号中以排除它。

试图确定问题出在哪里,我已将查询简化为一个简单的

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" 

然后我得到了异常(exception)。

异常详情如下:

  • Message: IErrorInfo.GetDescription failed with E_FAIL(0x80004005).
  • ErrorCode: -2147467259
  • NativeError: -533136361
  • SQLState: 3000

最佳答案

当我说查询不包含任何保留字时,我显然错了。
我使用的查询是从 Access 数据库中的另一个查询中选择的。另一个查询有一个导致问题的保留关键字。
顺便说一句:

The Access database engine runs in different modes, depending on whether it is called from Access, data access objects, the Microsoft OLE Provider for the Access database engine, or the Microsoft Access ODBC driver. It can be run in either ANSI mode or non-ANSI (traditional) mode.

Because using these two modes results in two slightly different sets of reserved words, a query that uses a reserved word might work in one mode and fail in another mode

Access 2007 reserved words and symbols


基思

关于exception - 是什么导致了我的 OLEDbException,IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15534284/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com