我在 32 位 Windows 7 操作系统中使用 VB.NET 创建了一个软件。
它包含以下代码行:
Dim cn As New OleDbConnection
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & fileNameStr & ";Jet OLEDB:Database Password=xxxxxxx"
cn.Open()
这些代码打开受密码保护的 MDB 文件(Microsoft Access 文件)。
当我在计算机上运行该软件时,它运行良好。
但是,当在另一台计算机上进行测试时,会出现一条错误消息,指出“无法打开使用应用程序的早期版本创建的数据库”。
The error message is shown after the third line of code.
您能否建议我的错误在哪里以及如何解决问题。
谢谢。
当我在计算机上运行该软件时,它运行良好。
但是,当在另一台计算机上进行测试时,会出现一条错误消息,指出“无法打开使用应用程序的早期版本创建的数据库”。
当不同的计算机安装了不同版本的 Access 数据库引擎时,可能会发生这种情况。具体来说,如果
- .mdb 文件采用 Access 97 格式,并且
- 该计算机具有 Access 2013(或更高版本)版本的 Access 数据库引擎。
Access 2013 删除了对 Access 97 文件格式的支持。
如果您的连接字符串包含,这可能会有点令人困惑
Provider=Microsoft.ACE.OLEDB.12.0
因为 Access 数据库引擎的 Access 2007 (12.0)、Access 2010 (14.0) 和 Access 2013 (15.0) 版本都register“12.0”名称下的提供商提供某种程度的向后兼容性。因此,对于任何装有 Access 2007+ 的机器,您可以指定
Microsoft.ACE.OLEDB.12.0
但你实际使用的是
Microsoft.ACE.OLEDB.12.0
在 Access 2007 计算机上
Microsoft.ACE.OLEDB.14.0
在 Access 2010 计算机上
Microsoft.ACE.OLEDB.15.0
在 Access 2013 计算机上
这就是为什么同一个第三方应用程序可以在一台计算机(安装了 Access 2007 或 2010)上打开 .mdb 文件,但不能在另一台计算机(安装了 Access 2013)上打开 .mdb 文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)