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