找不到日期源名称

时间:2017-03-08 19:34:03

标签: relational-database delphi-10-seattle firedac ms-access-2016

尝试通过FireDAC连接数据库时出现以下错误:

DSNameNotFound

我检查并确认已安装 MS Access数据库引擎2010 。我正在运行 Windows 8.1 Pro 64位并在x64中编译我的程序。我的数据库是在 MS Access 2016 中创建的。这是我连接数据库的代码:

procedure TdmCallNotes.DataModuleCreate(Sender: TObject);
begin
  conCallNotes.Close;
  conCallNotes.DriverName := 'MSAcc';
  with conCallNotes.Params do
  begin
    Database := ExtractFilePath(ParamStr(0)) + 'CallNote.accdb';
    DriverID := 'MSAcc';
  end;
  conCallNotes.LoginPrompt := False;
  conCallNotes.Connected := True;
  tblAccounts.Connection := conCallNotes;
  tblAccounts.TableName := 'tblAccounts';
  tblAccounts.Active := True;
  qryCompany.Connection := conCallNotes;
  qryContacts.Connection := conCallNotes;
end;

在x86中编译时似乎能够连接。任何想法为什么我无法在x64中编译?

1 个答案:

答案 0 :(得分:0)

您的系统上没有安装Microsoft Access的64位ODBC驱动程序。您可以在可再发行软件包from here AccessDatabaseEngine_X64.exe )中获取一个。

请注意,FireDAC仅在2010年之前正式支持Microsoft Access(this time)。但由于它是一个ODBC驱动程序,我认为2016版本无法正常工作。