Fórum Transações com ID #45945
10/08/2004
0
Ola a todos...
Tenho uma duvida , pois eu uso a seguinte sintaxe para a transação onde alem da sintaxe padrao para transações eu coloco um ID para identifica-la no servidor ...
try
[color=red:f27d3721db]TrD.TransactionID:=1;[/color:f27d3721db]
TrD.IsolationLevel:=xilReadCommitted;
TrD.IsolationLevel := xilREADCOMMITTED;
SQLConnection.StartTransaction( TrD );
// Aqui seriam feitos os updates, deletes e inserts
SQLConnection.Commit( TrD );
except
SQLConnection.Rollback( TrD );
end;
Gostaria de saber se isto é viavel ou não, se terei problemas com esse tipo de controle (ID).
Tenho uma duvida , pois eu uso a seguinte sintaxe para a transação onde alem da sintaxe padrao para transações eu coloco um ID para identifica-la no servidor ...
try
[color=red:f27d3721db]TrD.TransactionID:=1;[/color:f27d3721db]
TrD.IsolationLevel:=xilReadCommitted;
TrD.IsolationLevel := xilREADCOMMITTED;
SQLConnection.StartTransaction( TrD );
// Aqui seriam feitos os updates, deletes e inserts
SQLConnection.Commit( TrD );
except
SQLConnection.Rollback( TrD );
end;
Gostaria de saber se isto é viavel ou não, se terei problemas com esse tipo de controle (ID).
Alexrol
Curtir tópico
+ 0
Responder
Posts
10/08/2004
Vinicius2k
Colega,
Está correto e vc não terá problemas, apenas atente para o fato de que uma mesma ID não pode ser usada para abrir para outra transação enquanto a anterior de mesma ID não for fechada (commit ou rollback)...
Para usar múltiplas transações simultâneas, basta que vc use IDs diferentes para elas... logicamente se o SGBD suportar múltiplas transações, caso contrário todas as operações só podem estar envoltas em uma única transação, então a ID não fará diferença...
Espero ter ajudado...
T+
Está correto e vc não terá problemas, apenas atente para o fato de que uma mesma ID não pode ser usada para abrir para outra transação enquanto a anterior de mesma ID não for fechada (commit ou rollback)...
try TrD.TransactionID:=1; TrD.IsolationLevel:= xilREADCOMMITTED; TrD2.TransactionID:= 1; TrD2.IsolationLevel:= xilREADCOMMITTED; SQLConnection.StartTransaction( TrD ); //**** isto geraria erro pq as duas transações tem a mesma ID **** SQLConnection.StartTransaction( TrD2 ); SQLConnection.Commit( TrD ); except SQLConnection.Rollback( TrD ); end;
Para usar múltiplas transações simultâneas, basta que vc use IDs diferentes para elas... logicamente se o SGBD suportar múltiplas transações, caso contrário todas as operações só podem estar envoltas em uma única transação, então a ID não fará diferença...
Espero ter ajudado...
T+
Responder
Gostei + 0
17/01/2014
Samuel Ferreira
Pelo menos a mim, ajudou bastante. Valeu.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)