Fórum Transações distintas #356356
01/04/2008
0
Pessoal, boa tarde!
Gostaria de saber se alguém pode me ajudar na dúvida abaixo:
Tenho 2 servidores (aplicação multicamadas), onde em cada um, tenho um SQLConnection (DBExpress) e os SQLDataSets e seus parceiros. Em um método na aplicação cliente, estou fazendo applyUpdates para gravar alguns dados, executados dentro de uma transação...
Até ai estava funcionando, mas preciso executar um método desenvolvido no Server2 que altera alguns dados e me retorna uma string. Então o codigo acima ficou assim:
O que está acontecendo é o seguinte: O código é executado até chegar no ApplyUpdates do clientDataSet1. Qdo vai executar, trava nessa linha.
Nao posso fazer dessa forma: Abrir uma transação utilizando uma conexão e abrir outra utilizando outra conexão, conforme acima?
Gostaria de saber se alguém pode me ajudar na dúvida abaixo:
Tenho 2 servidores (aplicação multicamadas), onde em cada um, tenho um SQLConnection (DBExpress) e os SQLDataSets e seus parceiros. Em um método na aplicação cliente, estou fazendo applyUpdates para gravar alguns dados, executados dentro de uma transação...
... try Server1.AppServer.StartTrans; ... ClientDataSet1.ApplyUpdates(0); ... ClientDataSet2.ApplyUpdates(0); ... Server1.AppServer.Commit; except Server1.AppServer.Rollback; end;
Até ai estava funcionando, mas preciso executar um método desenvolvido no Server2 que altera alguns dados e me retorna uma string. Então o codigo acima ficou assim:
... try Server1.AppServer.StartTrans; ... ClientDataSet2.ApplyUpdates(0); ... Server2.AppServer.StartTrans; ... ClientDataSet1CAMPO.AsString := Server2.AppServer.ExecutaMetodo; ... ClientDataSet1.ApplyUpdates(0); ... Server2.AppServer.Commit; Server1.AppServer.Commit; except Server2.AppServer.Rollback; Server1.AppServer.Rollback; end;
O que está acontecendo é o seguinte: O código é executado até chegar no ApplyUpdates do clientDataSet1. Qdo vai executar, trava nessa linha.
Nao posso fazer dessa forma: Abrir uma transação utilizando uma conexão e abrir outra utilizando outra conexão, conforme acima?
Tchelllo
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)