我们在wpf项目中使用访问文件.mdb文件,此文件在ms access 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大小,所以任何人都可以帮助我。
谢谢, NAG
答案 0 :(得分:0)
根据运行的计算机和您尝试连接的MDB的版本,您可能更好地使用ACE驱动程序(或者它们可能实际上是您唯一的选择)
JET 4.0驱动程序仅允许您读取Office 2003格式,包括Office 2003。对于Office 2007及更高版本,您将需要使用ACE驱动程序
也没有64位JET驱动程序,这可能是您无法使用JET连接的另一个原因。
但是,32位和64位ACE驱动程序都是向后兼容的
驱动程序可在此处获取: Microsoft Access Database Engine 2010 Redistributable
此处详细说明要使用的连接字符串: Connection strings for Access 2007