我在Windows 7(64位)下安裝了Firebird 3.0(Firebird-3.0.0.32483_2_x64)。我已經使用ISQL創建了一個Firebird數據庫,並希望從Microsoft Access數據庫將數據複製到它。無法使用ODBC連接到Firebird 3.0
我已經安裝了Firebird ODBC驅動程序(Firebird_ODBC_2.0.4.155_x64)並通過控制面板中的數據源(ODBC)設置了用戶DSN。我正在使用這個客戶端 - C:\ Program Files \ Firebird \ Firebird_3_0 \ fbclient.dll - 當我點擊「測試連接」時,我收到消息「連接成功」。
我已經啓動了Access 2013.我認爲這是64位代碼,因爲可執行文件在「程序文件」而不是「程序文件(x86)」中。當我嘗試創建一個鏈接到ODBC數據源(現在顯示爲「機器數據源」),我得到這個消息 -
ODBC調用失敗
[ODBC火鳥驅動程序]無法連接到數據源:庫'C:\ Program Files \ Firebird \ Firebird_3_0 \ fbclient.dll'加載失敗。(# - 904)
任何人都可以幫忙嗎?我所有的在線研究表明,當64位程序與32位驅動程序一起使用時會出現問題,反之亦然,但我認爲我所做的每件事都應在64位領域。我也讀過904可以指示「不可用數據庫」,但我可以打開ISQL並在當時成功訪問數據庫。
對Dalton的建議的迴應 - 我在控制面板中創建了一個系統DSN。如果我打開Access並查看ODBC數據源,它不在那裏。這似乎是看着微軟網站的一個已知問題。
在嘗試此操作時,我發現安裝在我的PC上的Access 2013是32位可執行文件,即使Microsoft將它安裝在「程序文件」而不是「程序文件(x86)」中。
當我切換到32位ODBC源,使用32位ODBC管理員設置,並嘗試從Access鏈接到它我得到一條消息,「[ODBC Firebird驅動程序]錯誤加載插件Engine12。模塊C:\ Program Files \ Firebird \ Firebird_3_0 \ plugins \ Engine12存在但無法加載(#-901)「。
Firebird只安裝了Engine12.dll的一個副本,我認爲這是一個64位的DLL,所以我可以明白爲什麼這樣做不起作用,但我該從哪裏出發?
還有一個64位的Flamerobin,但我不明白它是如何用於「ODBC故障排除」的,因爲Flamerobin本身對ODBC沒有做任何事情。 –