Microsoft.Jet.OLEDB.4.0在Access 97数据库中找不到该表,尽管在我尝试将记录插入表时数据库中存在该表。
我用于插入的代码是:
string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Genius\Office\Data Files\GeniusHistory.mdb;Persist Security Info=False;";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
string query = @"INSERT INTO [HISTORY_OF_RECORDS]([OLD_CODE],[NEW_CODE],[TYPE],[OPERATION])
VALUES ('123','124',0,0)";
OleDbCommand command = new OleDbCommand(query, connection);
command.ExecuteNonQuery();
当我使用相同的连接对象控制架构时:
DataTable schema = connection.GetSchema("Tables");
dataGridView1.DataSource = schema;
该模式包含HISTORY_OF_RECORDS表:schema image
当我尝试使用Provider = Microsoft.ACE.OLEDB.12.0而不是Provider = Microsoft.Jet.OLEDB.4.0时,它会正常工作。但是在64位计算机上安装Access数据库引擎时;如果有32位Office应用程序,则客户必须卸载所有32位Office应用程序。
数据库文件:GeniusHistory.mdb