Microsoft Office Access 数据库引擎无法读取 Table 中的数据
The Microsoft Office Access database engine cannot read the data in Table
我正在使用后端数据库 Access 2013 编写 .Net 应用程序
我使用 OLEDB 连接进行连接,一切正常
然后突然没有对代码、数据库、Office 版本、OLDEB、操作系统做任何更改,我在尝试针对特定 table 执行 select 查询时开始收到以下异常
异常
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.
有趣的一点是,我仍然可以对具有相似结构(但不相同)和几乎相同数据大小的其他 table 执行相同的查询
I googled the exception 并且很高兴知道其他人也突然发生了这种情况
建议的根本原因之一是我的 table 中存在计算列,但事实并非如此
下面的代码将 table 名称作为参数,并且与我所有的 table 完美配合,除了没有太大区别并且已经可以工作的特定 table小时前。
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();
}
reader = cmd.ExecuteReader();
抛出异常
我用不合逻辑的解决方案修复了它
- 我创建了新数据库
- 将我所有的表从旧数据库导入到新数据库
出乎意料的是,它奏效了。
我正在使用后端数据库 Access 2013 编写 .Net 应用程序 我使用 OLEDB 连接进行连接,一切正常
然后突然没有对代码、数据库、Office 版本、OLDEB、操作系统做任何更改,我在尝试针对特定 table 执行 select 查询时开始收到以下异常
异常
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.
有趣的一点是,我仍然可以对具有相似结构(但不相同)和几乎相同数据大小的其他 table 执行相同的查询
I googled the exception 并且很高兴知道其他人也突然发生了这种情况 建议的根本原因之一是我的 table 中存在计算列,但事实并非如此
下面的代码将 table 名称作为参数,并且与我所有的 table 完美配合,除了没有太大区别并且已经可以工作的特定 table小时前。
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();
}
reader = cmd.ExecuteReader();
我用不合逻辑的解决方案修复了它
- 我创建了新数据库
- 将我所有的表从旧数据库导入到新数据库
出乎意料的是,它奏效了。