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.