我将我的C#应用程序连接到Jet 4.0引擎。当我运行查询“select * from open”时(我认为“open”是一个关键字,这就是为什么我得到一个异常,但是......)我得到这个异常:“IErrorInfo.GetDescription失败并带有E_FAIL(0x80004005) )”。我通常会得到更多人类可读的异常,告诉我我的查询有什么问题。这个看起来更像是Jet引擎中的一个bug。我刚刚在Microsoft Access 2002中测试运行相同的查询,它将“打开”视为完全有效的名称。我可以创建一个名为“open”的表,并用它做任何我想做的事。我只需要知道它是否是Jet引擎中的一个错误,所以我可以继续为人类可读的消息替换所需的消息并向用户显示,或者如果我的代码有问题。
答案 0 :(得分:5)
我遇到了同样的问题,试着将保留字放在方括号中,即:
"select * from [open]"
答案 1 :(得分:0)
我在excel中使用下面的sql:
"select * from [open$]"
也许你可以尝试一下。