Travamento na Aplicação 3 camadas

Delphi

01/09/2006

Tenho uma aplicação utilizando o firebird 1.5, um servidor e um cliente.
Algumas vezes quando mais de duas pessoas usam o sistema o cliente e o servidor travam a ponto de ter que dar CTRL+ALT+DEL. Apesar de serem telas diferentes as tabelas acessadas pelos clientes são as mesmas.

Utilizo o Socket Srever da borland para a conexão e parece que ele repete o mesmo ip na sua relação, não sei se isso tem alguma coisa com o problema. Tem alguma coisa que posso fazer para evitar este travamento e permitir várias conexões simultaneas ?

Agradecido


Nandobhering

Nandobhering

Curtidas 0

Respostas

Jrinfo2005

Jrinfo2005

01/09/2006

Olá Nando, boa tarde !

Eu tive esse mesmo problema ! Vc já tentou utilizar o DCOMConnection ? Vc está utilizando mais de um RDM na camada intermediária ? Se sim, está compartilhando o mesmo SQLConnection ? Bom, dependendo das suas respostas, vou te passar tudo o q eu fiz aqui para resolver essa dor de cabeça !


GOSTEI 0
Nandobhering

Nandobhering

01/09/2006

Boa tarde JrInfo2005 !

Em primeiro lugar quero agradecer pela ajuda.

Eu utilizo apenas um RDM e dois DM comuns que são criados pelo RDM.
No form principal do servidor utilizo uma conexão DBExpress com o banco desta form o servidor não cria uma conexão ao banco por instancia do RDM, ´não sei se é a melhor forma´. Desta forma compartilho o mesmo SQLConnection. Será este o problema ?

Já fiz um teste como DCOM, mas ele só é bom em redes estáveis ou não ?

Valeu !


GOSTEI 0
Jrinfo2005

Jrinfo2005

01/09/2006

O correto é vc utilizar somente RDM na camada intermediária e fazer a ligação entre eles. Um RDM vc deixa para o SQLConnection, o RDM principal... dai liga todos a ele e soh alegria ! Outra coisa, com SocketConnection eu já trabalhei, nada contra, mas sou muito mais o DCOMConnection ! Se vc não souber como fazer as ligações entre os RDM´s, talvez eu possa te ajudar. Antes q eu me esqueça, se vc tiver qualquer probleminha no tráfego da rede (um cabo mal conectado, etc), pode ocasionar um travamento no sistema !
Dah uma analisada nesses dois tópicos, qq coisa estamos aí !!!!

http://forum.devmedia.com.br/viewtopic.php?t=42509
http://forum.devmedia.com.br/viewtopic.php?t=63070


GOSTEI 0
Jrinfo2005

Jrinfo2005

01/09/2006

O correto é vc utilizar somente RDM na camada intermediária e fazer a ligação entre eles. Um RDM vc deixa para o SQLConnection, o RDM principal... dai liga todos a ele e soh alegria ! Outra coisa, com SocketConnection eu já trabalhei, nada contra, mas sou muito mais o DCOMConnection ! Se vc não souber como fazer as ligações entre os RDM´s, talvez eu possa te ajudar. Antes q eu me esqueça, se vc tiver qualquer probleminha no tráfego da rede (um cabo mal conectado, etc), pode ocasionar um travamento no sistema !
Dah uma analisada nesses dois tópicos, qq coisa estamos aí !!!!

http://forum.devmedia.com.br/viewtopic.php?t=42509
http://forum.devmedia.com.br/viewtopic.php?t=63070


GOSTEI 0
Nandobhering

Nandobhering

01/09/2006

JrInfo2005


Muito obrigado, vou tentar e te falo se deu certo.


GOSTEI 0
POSTAR