Transacao no servidor COM
Criei um metodo no servidor COM+(.exe), no cliente checo se a transação esta aberta, se ok commit ou rollback, vejam o método
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
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
Curtidas 0
Respostas
Brunolspp
22/12/2006
apesar deu não recomendar COM+, vc tem um recurso mto bom nele q a transação do proprio COM+.
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
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
Orpolonio
22/12/2006
Tb uso o Socketconnection,
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
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
Brunolspp
22/12/2006
Salve Mestre!
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
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
Orpolonio
22/12/2006
Baixei varios modelos mas não encontrei nada relacionado(tô lerdinho este fim de ano)
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.
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
Brunolspp
22/12/2006
exemplo de setcomit e setabort hj vc pode pegar no help do Delphi e nos demos.
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
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
Orpolonio
22/12/2006
Como faço para entrar nesta lista, assunto maravilhoso para quem trabalha com rotinas de risco,
Cito que sua atenção é maravilhosa para aqueles q tem dúvidas
Cito que sua atenção é maravilhosa para aqueles q tem dúvidas
GOSTEI 0
Brunolspp
22/12/2006
é só se cadastrar no yahoogrupos, procurar o grupo nddv e entrar nele
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
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