IBPhoenix have an ODBC connectivity plugin for Firebird that allows Firebird to connect directly to other ODBC databases using the "Execute Statement On External Data Source" syntax. Currently the plugin is available for Windows (32/64bit) and is in beta test.
if you would like to test it, please contact us directly and an appropriate download will be made available.
Copy the library (dll) into Firebird plugins subdir. Add 'magpie' to the provider's list in the firebird.conf file. (ideally as the first one.)
Providers = Magpie,Remote,Engine12,Loopback
Restart the Firebird server.
execute block returns (id varchar(20), n decimal(15,3)) as begin for execute statement 'select id, n from test_table' on external 'odbc://dBase' into :id, :n DO suspend; end^
execute block (id varchar(20), n decimal(15,3)) as begin execute statement 'insert into test_table(id, n) values (?,?)' (:id, :n) on external 'odbc://dBase'; end^
execute block (id varchar(20), n decimal(15,3)) as begin execute statement 'update test_table set n = ? where id = ?' (:n, :id) on external 'odbc://dBase'; end^
execute block (id varchar(20)) as begin execute statement 'delete from test_table where id = ?' (:id) on external 'odbc://dBase'; end^
Where 'dBase' is what is passed to the ODBC SQLDriverConnect() function, i.e. DSN .
Driver-specific datatypes are not supported. To use parameters in queries the ODBC driver must support the SQLDescribeParam() function.