Magpie

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.

To install

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.

Examples

Select:

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^

Insert:

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^

Update:

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^

Delete:

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 SQLConnect() function, i.e. DSN or a full connection string.

Note

Driver-specific datatypes are not supported. To use parameters in queries the ODBC driver must support the SQLDescribeParam() function.