Re: RES: [firebase-br] Multithreads e Transações Múltiplas

Marcelo Silva marcvan em ig.com.br
Qua Ago 2 18:52:42 -03 2006


Eu tenho um sistema que usa N transacões

Essa aplicação esta preparada para abrir X (não sei quantas) transações que 
precisar e o servidor aguentar é claro :)

O que eu faço é criar em Run time datamodules a medida que alguém conecta

Minha aplicação é MultThreads e é acessada via internet.

A ideia é:

Criou Thread -> Cria DataModuleNameSession (onde esta os componentes)

No DataModule eu deixo (um) IbTransaction e os DataSets (quantos quiser) e 
as Querys (idem)
Em um FormPrincipal eu deixo o IBConnection só um e os componentes que não 
precisa replicar

Entao levo este DataModule por toda a Procedure relativa e faço uso dos 
componentes ali nele

Ex.

procedure bla_bla;
var xData: TDataModule;
begin
  if Conect then begin
    xData := TFDataModule.Create();
    xData.Name := NomeDaSessao;

    //ae continua
    xData.DataSet.Open;
    etc...
  end;
end;


----------------------
Marcelo Silva
(11) 9693-4251
(11) 6723-3106 - LESTCRED
MSN: marcvan em ig.com.br




----- Original Message ----- 
From: "FAGNER FERNANDES" <fagner_ffs em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, August 02, 2006 5:36 PM
Subject: Re: RES: [firebase-br] Multithreads e Transações Múltiplas


Já fiz isto. Não tenho problemas em uma aplicação simples. O problema é que 
minha aplicação é Multithread e da quando inicio duas threads ao mesmo 
tempo.

Fagner.

Marcelo Silva <marcvan em ig.com.br> escreveu: Com IBX vc não precisa usar 
varios IBTransaction use um só, dê 2 clicks no
componente e coloque o seguinte na telinha:

read_committed
rec_version
nowait


Assim vc nao tera mais DeadLock

E outra ... quando alguem alterar um registro em outra maquina vc ja verá a
alteração assim que der um scroll na query


----------------------
Marcelo Silva
(11) 9693-4251
(11) 6723-3106 - LESTCRED
MSN: marcvan em ig.com.br

----- Original Message ----- 
From: "Rafael Soares"

To: "FireBase"

Sent: Wednesday, August 02, 2006 11:16 AM
Subject: Re: RES: [firebase-br] Multithreads e Transações Múltiplas


Qual o tipo de isolamento que você está usando nas transações?

[]'s
Rafael Soares


Joao Paulo - Spectrum escreveu:
> Olá Fagner...
>
> Eu tive o mesmo problema com o IBX e como era a alteração em um projeto
> que
> já estava pronto, fiquei sem saida...
>
> Tambem gostaria de uma solução para este caso...
>
> Joao Paulo
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> Em
> nome de FAGNER FERNANDES
> Enviada em: terça-feira, 1 de agosto de 2006 21:46
> Para: lista em firebase.com.br
> Assunto: [firebase-br] Multithreads e Transações Múltiplas
>
> Ae Galera,
>
> Sou novo aqui na lista, se estou fazendo algo errado me desculpem.
>
> Gostaria de saber como faço para acessar o BD com mais de uma transação ao
> mesmo tempo. No sistema que estou trabalhando existem várias threads, e
> todas necessitam de acessar o BD. O que estava acontecendo é que toda vez
> que eram criadas duas transações juntas travava tudo, ou seja, o Firebird
> ficava em Deadlock. Usei todos os componentes possíveis, desde IBX ao IBO.
> Também já tentei criar uma conexão por Thread e não adiantou. Também
> tentei
> todos os níveis de isolamento possíveis, hehe, e também não adiantou. Fiz
> um
> software de teste que executava uma consulta em sql ao bd em uma thread
> separada com seu próprio Form. Quando mandava criar duas threads ao mesmo
> tempo dava pau. Pelo que eu li, o Firebird suporta transações multiplas e
> deveria suportar esse tipo de operação, já que as Query's são só de
> consulta. Bom, resolvi o problema utilizando um componente, que por sinal
> achei muito bom, UIB. Foi muito simples com esse componente, mas gostaria
> de
> saber se é possível fazer  isso com os outros componentes mais conhecidos,
> com por exemplo o IBO que é muito elogiado ????
>
>
>
>
> ===========================
>   Fagner Fernandes Santos
>   fagner_ffs em yahoo.com.br
> (11)2276-4213/(18)9742-9437
> ===========================
>
> ---------------------------------
>  Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador
> agora!
> ______________________________________________
> 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
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 01/08/2006 / Versão:
> 4.4.00/4819 Proteja o seu e-mail Terra: http://mail.terra.com.br/
>
>
>
> ______________________________________________
> 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
>
> __________ Informação do NOD32 IMON 1.1687 (20060801) __________
>
> Esta mensagem foi verificada pelo NOD32 sistema antivírus
> http://www.eset.com.br
>
>
>
>

______________________________________________
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



-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.10.5/403 - Release Date: 28/07/2006



______________________________________________
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



---------------------------------
 Yahoo! Search
 Música para ver e ouvir: You're Beautiful, do James Blunt
______________________________________________
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



-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.10.5/403 - Release Date: 28/07/2006






Mais detalhes sobre a lista de discussão lista