0

我们在 wpf 项目中使用访问文件 .mdb 文件,该文件是在 ms 访问 97 之间创建的。

它给出了“无法打开数据库”之类的异常。它可能不是您的应用程序识别的数据库,或者文件可能已损坏。

但它并不总是有时会在使用适配器调用查询时给出此异常,例如:

tblAccountTableAdapter accountAdapter = new tblAccountTableAdapter();
            DateTime? syskey = accountAdapter.GetSysKeyofAccount(accountNumber);

连接字符串:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Data\mmlp.mdb;Persist Security Info=True

从上面的查询中调用“GetSyskeyofAccount()”时,它给出了上述异常,有时它给出了另一个查询,因此它不会只坚持一个查询来给出异常。

而且我尝试了很多次来找到这个问题,而且很难找到它在不同地方给出异常的地方。

我的文件只有 KB 大小,所以任何人都可以帮助我。

谢谢,唠叨

4

1 回答 1

0

根据正在运行的机器和您尝试连接的 MDB 版本,您可能会更好地使用 ACE 驱动程序(或者它们实际上可能是您唯一的选择)

JET 4.0 驱动程序只能让您读取 Office 格式,包括 Office 2003。对于 Office 2007 及更高版本,您将需要使用 ACE 驱动程序

也没有 64 位 JET 驱动程序,这可能是您无法使用 JET 连接的另一个原因。

但是,有 32 位和 64 位 ACE 驱动程序,它们向后兼容

该驱动程序可在此处获得: Microsoft Access Database Engine 2010 Redistributable

然后在此处详细说明要使用的 连接字符串:Access 2007 的连接字符串

于 2013-05-15T11:35:01.693 回答