[firebase-br] Dois Execute Statement On External - Travamento Firebird

Luciano Griep lucianogriep em gmail.com
Qui Jul 27 10:14:52 -03 2017


Ola,

Pessoal, seguinte situação,
Tenho três bancos de dados (Banco_A, Banco_B, e Banco_C),

No Banco_A realizo um Insert através de Execute Statement On External no
Banco_B, e este por sua vez realiza uma consulta no Banco_C,
quando isso ocorre, trava o Firebird, e não consigo nem parar o serviço, é
necessário reiniciar o máquina para voltar a funcionar...

Alguém tem alguma ideia do que pode ser feito?
Já passou por isso?
É uma limitação do Firebird mesmo??


Vamos aos códigos de Exemplo:
No Banco_B tenha a tabela com a sua trigger:
/* ********* Tabela ********** */
CREATE TABLE TESTE (
    CODIGO     INTEGER,
    DESCRICAO  VARCHAR(50)
);
/* ******** Trigger *********** */
CREATE OR ALTER TRIGGER TESTE_BI0 FOR TESTE INACTIVE BEFORE INSERT POSITION
0
AS
begin
  Execute Statement ('Select First 1 Campo From Tabela')
       On External 'Banco_C'
  With Common Transaction
  into New.Descricao;
end;


No Banco_A tenho o seguinte código:
Execute Block
as
begin
  Execute Statement ('Insert Into Teste (Codigo) Values (1)')
  On External 'Banco_B'
  With Common Transaction;
end



Mais detalhes sobre a lista de discussão lista