我正在尝试链接到Microsoft Access 2013数据库的程序出现问题。在程序中,我在将数据库链接到Delphi的单元中有以下代码:
unit udbSrc;
interface
Uses DB, ADODB, Forms;
Var DBDataBase : TADOQuery;
Procedure OpenDB;
implementation
Procedure OpenDB;
Begin
DBDataBase := TADOQuery.Create(Application);
DBDataBase.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=' + '''DataBase.accdb'';Persist Security Info=False';
end;
end.
在主单元中,我只需点击一下按钮即可获得以下代码:
DBDataBase.Close;
DBDataBase.SQL.Text := 'Select * From tblPlayerInfo';
DBDataBase.ExecSQL;
DBDataBase.Open
DBDataBase.First;
当我单击按钮时,程序不会运行以下错误消息:
无法找到提供商。它可能没有正确安装。
它确定了这行代码中的错误:
DBDataBase.ExecSQL;
我已经完成了研究并下载并安装了AccessDatabaseEngine_x64,但没有任何效果。如果有人可以请建议解决方案。
答案 0 :(得分:2)
您说已经下载并安装了 AccessDatabaseEngine_x64 ,但这是64位提供商。 Delphi 7生成32位可执行文件,因此需要32位提供程序。这就是您收到提供程序未找到错误的原因。未安装所需的32位提供程序。
Download and install AccessDatabaseEngine.exe(不 _x64 版本)以获取您需要的32位提供程序。
通常,当选择32位或64位版本的软件时,32位版本将标识为x86
,64位版本标识为x64
。话虽如此,在这种情况下,只有 x64 版本以这种方式明确标识,“plain”名称只是隐式的替代版本。