Transação multi-banco com IBX

Embora seja um recurso pouco conhecido, o InterBase/FireBird suporta uma única transação vinculada a dois ou mais bancos e os componentes InterBase Express (IBX) suportam este recurso de forma transparente. Para usar este recurso com IBX siga os passos abaixo:
  • Coloque um IBDatabase para cada banco de dados.
  • Coloque apenas um IBTransaction.
  • Conecte cada IBDatabase ao IBTransaction pela propriedade DefaultTransaction.
  • Coloque quantos IBSQL ou IBDataSet forem necessários.
  • Conecte cada IBSQL ou IBDataSet ao respectivo IBDatabase pela propriedade Database.
  • Conecte cada IBSQL ou IBDataSet ao mesmo IBTransaction pela propriedade Transaction.
  • Pronto, agora é só trabalhar normalmente.

Importante

Deixe a propriedade DefaultDatabase do IBTransaction sem preencher.

Sugestão

Use esta técnica sempre que precisar transferir dados de um banco de dados para outro.

Autor: Daniel P. Guimarães
Home-page: www.tecnobyte.com.br