[firebase-br] Erro TransactionID invalido!!

Paulo Portella pportellaa em hotmail.com
Sex Mar 30 10:02:54 -03 2007


Abre seu OutlookExprees
Ferramentas. / Contas 
clica na aba Noticias
do lado direito, clica em Adicionar e em Noticias
informe seu nome que quer que apareca
depois informe seu email de contato
depois informe trollnet.no-ip.org
ao clicar em ok ele vai busar a lista de todos desse servidor.
escolha 
vtnc.Linguagens.delphi
 
e pronto. seja bem vindops-> desculpem galera do FB, mas um dia eu tambem precisei disso e tive quem me ajudou.
Um abraço a todos.
 


From: pineli em ecp.com.brTo: pportellaa em hotmail.com; lista em firebase.com.brSubject: Re: [firebase-br] Erro TransactionID invalido!!Date: Fri, 30 Mar 2007 09:48:04 -0300



ola... o primeiro site é escolanet???, nao achei nada la... e o segundo nao abre....

----- Original Message ----- 
From: Paulo Portella 
To: FireBase ; pineli em ecp.com.br 
Sent: Friday, March 30, 2007 9:10 AM
Subject: RE: [firebase-br] Erro TransactionID invalido!!
Carlos,essa mensagem tah mais pra programacao do que pra BD, pra nao prolonga mais o assunto, acessa o seguitne enderecotrollnet.no-ip.org  com a vtnc.linguagens.Delphi posta sua mensagem lah que acompanharei e ajudarei.um abraçuuuPportella.

> Date: Fri, 30 Mar 2007 08:34:14 -0300> From: carlospineli em gmail.com> To: lista em firebase.com.br; pineli em ecp.com.br> Subject: [firebase-br] Erro TransactionID invalido!!> > Ola para todos....> estou fazendo uma aplicacao com firebird 1.5 embarcado + delphi 7.> recebo centenas de eventos através de 1 sockets e preciso gravar tudo> no banco...> só que tudo acontece muito rápido e esta dando erro após a quinta> conexao. Qual uma maneira segura de gravar tudo com segurança... estou> fazendo assim:> > tem um data modulo com a conexao> e cada conexao do socket cria uma thread com o codigo abaixo. Criando> um query tbm para cada.> O ID transacao estou gerando o valor aleatoriamente para tentar nao repetir> (...)> > DM.SQLUltimoCod.Close ;> DM.SQLUltimoCod.Open ;> codigonovo := inttostr( DM.SQLUltimoCod.Fields[0].AsInteger + 1);> > //gravando informacao no banco de dados> > SQLQueryThread.Close ; // Não sei se já tava aberta, então fecho> SQLQueryThread.SQL.Clear ;> SQLQueryThread.SQL.Add('INSERT INTO EVENTOS(ID_EVENTOS, EVENTO, IP) ');> SQLQueryThread.SQL.Add('VALUES('+CODIGONOVO+','+#39+COPY(RecText,1,4)+#39+','+#39+ClientSocket.RemoteAddress+#39+')')> ;> > Gravou := False; // Controla se conseguiu ou não gravar> for i := 1 to 100 do // Tentativa de gravação por 100 vezes> begin> try> TransacaoSQL.TransactionID := IDTransacao; //1;> TransacaoSQL.IsolationLevel := xilREPEATABLEREAD ;> DM.SQLConexao.StartTransaction( TransacaoSQL ) ;> SQLQueryThread.ExecSQL( True ) ;> DM.SQLConexao.Commit( TransacaoSQL ) ; // Efetiva gravação> Gravou := True; // Se chegou aqui é pq conseguiu gravar> except> on e:Exception do> begin> DM.SQLConexao.Rollback( TransacaoSQL ); // Desfaz alteraes> Erro := e.Message;> Gravou := False ; // Faiô, tio!> end;> end;> if Gravou then // Conseguiu gravar, iupiiiii!> break // Sai do 'For'> else> Sleep(1000); // Espera 1 segundo antes de ir p/ prox. passo do 'For'> end;> if not Gravou then // Faiô mesmo, depois de 100 tentativas :-(> begin> ShowMessage(Erro); // Mostra mensagem de erro> (....)> > quando ocorre o erro ele esgora as 100 tentativas....> Como fazer isso de uma forma mais segura??????> > ______________________________________________> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br> Para consultar mensagens antigas: http://firebase.com.br/pesquisa

O Windows Live Spaces já chegou! É fácil criar o seu próprio Web site pessoal. Veja só! 
_________________________________________________________________
Ligue para os amigos com a Chamada de PC para PC - GRATUITO
http://get.live.com/messenger/overview


Mais detalhes sobre a lista de discussão lista