Fórum Transacao no servidor COM #335080
22/12/2006
0
If( par_Qual=´INICIAR´ ) Then Begin
If( Not sqlConn.InTransaction ) Then Begin
TD.TransactionID:=1;
TD.IsolationLevel:=xilREADCOMMITTED;
sqlConn.StartTransaction(TD);
End;
End;
If( par_Qual=´COMMIT´ ) Then
sqlConn.Commit(TD);
Porem, todos clientes usam o TD.TransactionID=1, isso me traria problemas ou devo continuar assim, cito que tenho em media 150 usuarios conectados
Orpolonio
Curtir tópico
+ 0Posts
22/12/2006
Brunolspp
usando setcommit e setbort.
tem alguns exemplos no help do Delphi.
Eu costumo usar Borland socket server com mto melhor aproveitamento que o COM+ em tds os quesitos. E nele crio processos e metodos que dentro deles posso fazer o controle transacional da forma que bem entender. e desta forma tenho alcançado sucesso nas empreitadas.
Meus sistemas hj são de alto risco, dispnibilidades e aplicaçãos de interligação geográficas de conexão online 24/7
Abração
Gostei + 0
23/12/2006
Orpolonio
No cliente, qdo tenho que fazer atualizações em varias tabelas inicio a transação(no cliente pelo metodo)
Depois de executar todas as atualizações verifico se tudo correu bem e dou um commit.
Vc poderia me enviar um exemplo de como executar varios inserts/post no cliente, destes inserts disparar checagens no servidor de outra maneira.
Obrigado
Gostei + 0
26/12/2006
Brunolspp
Então, td os meus processos são feitos sobre o Borland Socket Server.
Deixei alguns exemplos para download junto copm codigos fontes e slides em: http://cc.codegear.com/Author.aspx?ID=795118
e tem uma materia minha na edição 56 e 58 da clubedelphi que mostra como utilizar regras de negocio.
Minhas operaç~eos em lote nos sistemas atuais são bastante grandes, e 85¬ vai muito bem usando clientdataset, os outros uso funções no servidor q recebem os dados ou parametros e executam diretamente no banco dentro de uma transação monitorada.
Espero pode ajudar.
As ordens
Abração
Gostei + 0
26/12/2006
Orpolonio
Queria um exemplo de setcommit e setabort, lembrando que se estes forem no servidor tenho no cliente uma movimentação de 6 tabelas sendo alteradas em uma mesma rotina, um setabort tem que desfazer as outras 5 se o erro ocorrer no sexto applyUpDates(0).
Espero ter sido claro.
Gostei + 0
26/12/2006
Brunolspp
os exemplos q tenho la são tds baseados em Borland Socket Server
o modelo q uso pra resolver isso e com metodos e transações monitoradas no servidor como expliquei anteriormente.
mantenho uma lista de discussao sobre este assunto em nddv@yahoogrupos.com.br
Gostei + 0
27/12/2006
Orpolonio
Cito que sua atenção é maravilhosa para aqueles q tem dúvidas
Gostei + 0
27/12/2006
Brunolspp
eu aprovo e´pronto.. vc esta dentro!
eis o link do grupo..
http://www.yahoogrupos.com.br/group/nddv
inclusive la tem varias fotos da BorCon!!!
Abração
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)