Reputation: 1
I have installed Firebird 3.0 (Firebird-3.0.0.32483_2_x64) under Windows 7 (64 bit). I have created a Firebird database using ISQL and want to copy data to it from a Microsoft Access database.
I have installed the Firebird ODBC driver (Firebird_ODBC_2.0.4.155_x64) and set up a User DSN through Data Sources (ODBC) in Control Panel. I am using this client - C:\Program Files\Firebird\Firebird_3_0\fbclient.dll – and when I click on “Test connection” I get the message “Connection successful”.
I have then started Access 2013. I assume that this is 64bit code as the executable is in “Program files” rather than “Program files (x86)”. When I try to create a link to the ODBC source (now shown as a “Machine data source”) I get this message –
ODBC call failed
[ODBC Firebird driver]Unable to connect to data source:library ‘C:\Program Files\Firebird\Firebird_3_0\fbclient.dll’ failed to load.(#-904)
Can anyone help with this please ? All my research on-line suggests that problems occur when 64 bit programs are used with 32 bit drivers and vice-versa, but I think that everything I am doing should be in the 64 bit realm. I have also read that 904 can indicate “Unavailable database”, but I can open ISQL and access the database successfully at the time.
A a response to Dalton's suggestion - I created a system DSN in in Control Panel. If I open Access and look at ODBC data sources, it isn't there. This seems to be a known problem looking at Microsoft's web site.
In trying this I discovered that the Access 2013 installed on my PC is a 32bit executable, even though Microsoft install it in “Program files” rather than “Program files (x86)”.
When I switch to a 32 bit ODBC source, set up using the 32 bit ODBC administrator, and try and link to it from Access I get a message, “[ODBC Firebird Driver]Error loading plugin Engine12. Module C:\Program Files\Firebird\Firebird_3_0\plugins\Engine12 exists but cannot be loaded (#-901)”.
Firebird has only installed one copy of Engine12.dll and I assume that is a 64bit dll, so I can see why that would not work, but where do I go from here ?
Upvotes: 0
Views: 2374
Reputation: 23
Try creating a system DSN as opposed to a user DSN. I had a similar issue in the past and that fixed it for me.
Upvotes: 0