Microsoft Office Access数据库引擎无法读取表中的数据

时间:2016-01-03 05:29:58

标签: .net oledb ms-access-2013

我正在编写一个带有后端数据库Access 2013的.Net应用程序 我使用OLEDB连接连接,一切正常工作

然后突然没有对代码,数据库,Office版本,OLDEB,操作系统做任何更改,我在尝试对特定表执行select查询时开始收到以下异常

异常

{0: [2, 8, 4], 3: [5]} 

有趣的是,我仍然可以对具有相似结构(但不完全相同)和几乎相同数据大小的其他表执行相同的查询

I googled the exception并且很高兴知道它也突然发生在其他人身上 建议的根本原因之一是我的表中存在计算列,而不是

下面的代码将表名作为参数,并且与我的所有表完美地协同工作,除了一个没有太大区别并且几小时前已经工作的特定表。

The Microsoft Office Access database engine cannot read the data in MyTable.
The minimum required version to read the data is 14.0.0000.0000.

private void PupulateLookup(ComboBox control, string tableName, OleDbConnection conn) { BindingList<LookupObject> result = new BindingList<LookupObject>(); string sql = string.Format("SELECT * FROM [{0}]", tableName); OleDbCommand cmd = new OleDbCommand(sql, conn); OleDbDataReader reader; reader = cmd.ExecuteReader(); while (reader.Read()) { //do my stuff } reader.Close(); }

引发异常

1 个答案:

答案 0 :(得分:1)

我用不合逻辑的解决方案修复了它

  1. 我创建了新数据库
  2. 将我的所有表格从旧数据库导入到新数据库
  3. 出乎意料的是,它奏效了。