使用delphi 7和MS access 2010测试连接错误

时间:2015-01-07 17:14:35

标签: delphi ms-access-2010 delphi-7

我的表单中有Ado连接,并使用Access 2010(accdb数据库)64位系统

我在访问2010中为我的数据库设置了密码

我使用Ado连接字符串连接Delphi 7和2010 Access数据库。

当我尝试设置连接时,会出现错误 “由于初始化提供程序时出错,测试连接失败。无法打开数据库。”它可能不是您的应用程序识别的数据库,或者该文件可能已损坏。

但是,当我在没有密码的情况下创建另一个数据库时,ado连接字符串在测试连接后起作用。

我还安装了AccessDatabaseEngine但它仍然无效。此外,Ado正在使用32位系统在我的另一台计算机上使用密码,但在64位系统上失败。 解决方案是什么?为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

似乎ADO ConnectionString Builder没有创建一个与受密码保护的mdb一起使用的连接字符串......至少我无法使其工作: - )

使用ADO ConnectionString Builder时出现错误,"无法启动您的应用程序。工作组信息文件丢失或由其他用户独占打开。" 这是连接字符串出现故障:

Provider=Microsoft.Jet.OLEDB.4.0;Password=MyPwd;Data Source=C:\...\MyDB.mdb;Persist Security Info=True

我通过编写分配了此SO solution中建议的连接字符串的代码来解决它。这是我的代码:

ADOConnection1.LoginPrompt := false;
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\...\MyDB.mdb;Jet OLEDB:Database Password=MyPwd;';
ADOConnection1.Connected := true;

注意:我在Win 7 64bit上使用了Delphi XE3,32位应用程序。