我正在使用ACE OLEDB在MS Access mdb文件上运行查询。这适用于x86计算机,但在x64上失败。
C#代码(使用目标平台x86构建):
string conn = "Provider=Microsoft.ACE.OLEDB.12.0;data source=" + @"C:\abc\db\file.mdb";
OleDbConnection _connOle = new OleDbConnection(conn);
_connOle.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = _connOle;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from myTable";
cmd.ExecuteReader();
我得到的错误是“您的网络访问被中断。要继续,请关闭数据库,然后再次打开它。”
更新:仅当我的mdb文件具有链接表时才会发生这种情况。如果表是导入的,这不会发生!让我补充一点,我确保用户可以完全访问文件夹\ AppData \ Local \ Temp,以防ACE.OLEDB引擎需要访问它以临时存储链接表。
有关如何解决此问题的任何想法?谢谢!
答案 0 :(得分:0)
关闭现有连接,将其添加到结尾:
conn.close();