1

當試圖連接到通過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編譯?

回答

0

您的系統上安裝的Microsoft Access沒有64位ODBC驅動程序。您可以在可重新分發的軟件包from hereAccessDatabaseEngine_X64.exe)中獲得一個。

只要注意,FireDAC在2010年以前才正式支持Microsoft Access(在this time)。但是因爲它是一個ODBC驅動程序,所以我沒有看到2016版本無法正常工作的原因。