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