Delphi 7 和 Microsoft Access 2013 "Provider cannot be found. It may not be properly installed."
Delphi 7 and Microsoft Access 2013 "Provider cannot be found. It may not be properly installed."
我在尝试 link 至 Microsoft Access 2013 数据库时遇到程序问题。在程序中,我在一个单元中有以下代码,links 数据库到 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;
当我单击按钮时,程序没有 运行 并显示以下错误消息:
Provider cannot be found. It may not be properly installed.
它识别出错误在于这行代码:
DBDataBase.ExecSQL;
我研究了一下,下载安装了AccessDatabaseEngine_x64,没有任何效果。如果有人可以提出解决方案。
您说您已经下载并安装了 AccessDatabaseEngine_x64,但这是 64 位提供程序。 Delphi 7 生成 32 位可执行文件,因此需要 32 位提供程序。这就是为什么您收到提供者未找到错误的原因。未安装所需的 32 位提供程序。
Download and install AccessDatabaseEngine.exe(不是 _x64 版本)以获得您需要的 32 位提供程序。
通常,当可以选择 32 位或 64 位版本的软件时,32 位版本将被标识为 x86
,64 位版本将被标识为 x64
。话虽如此,在这种情况下,只有 x64 版本以这种方式明确标识,而 "plain" 名称只是隐含的替代版本。
我在尝试 link 至 Microsoft Access 2013 数据库时遇到程序问题。在程序中,我在一个单元中有以下代码,links 数据库到 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;
当我单击按钮时,程序没有 运行 并显示以下错误消息:
Provider cannot be found. It may not be properly installed.
它识别出错误在于这行代码:
DBDataBase.ExecSQL;
我研究了一下,下载安装了AccessDatabaseEngine_x64,没有任何效果。如果有人可以提出解决方案。
您说您已经下载并安装了 AccessDatabaseEngine_x64,但这是 64 位提供程序。 Delphi 7 生成 32 位可执行文件,因此需要 32 位提供程序。这就是为什么您收到提供者未找到错误的原因。未安装所需的 32 位提供程序。
Download and install AccessDatabaseEngine.exe(不是 _x64 版本)以获得您需要的 32 位提供程序。
通常,当可以选择 32 位或 64 位版本的软件时,32 位版本将被标识为 x86
,64 位版本将被标识为 x64
。话虽如此,在这种情况下,只有 x64 版本以这种方式明确标识,而 "plain" 名称只是隐含的替代版本。