Fórum A rede Funciona mas quando um micro desliga dá pau no servid #50961

11/05/2005

0

Galera do interbase, Meu programa funciona em rede tranquilo.
uso os componentes da palheta interbase. Inicio transações e uso o commitrettaning ou seja quando gravo alguma tabela comita o buffer no banco de dados mas a transação continua aberta. Quando sai do sistema fecho a transação.

Meu problema é este, quando ligo dois micros e abro o sistema nos dois e acesso dados nos dois. Sempre que desligo o CLIENTE me aparece a mensagem abaixo no micro SERVIDOR que é onde está o arquivo GDB, na tela que eu estiver do programa. e paralisa tudo. Tenho que sair e entrar de novo.

a janela tem isto escrito.

unable to complete netword request to host ´servidor´
Error writing data to the connection
Foi forçado o cancelamento de uma conexão pelo host remoto
process stoped

O que posso fazer para isto não acontecer ao desligar o micro CLIENTE.
obrigado


Dr. Interbase

Dr. Interbase

Responder

Posts

11/05/2005

Gandalf.nho

Vc está fechando a conexão com o banco ao sair do sistema e fechando corretamente o sistema antes de desligar a máquina?


Responder

Gostei + 0

12/05/2005

Dr. Interbase

Quando sai do sistema fecho a transação dando um comit e depois fecho o database com o comando database.close, isto é o suficiente para fechar a transação ??

Obrigado


Responder

Gostei + 0

12/05/2005

Edilcimar

host é hospedeiro, portanto servidor, a mensagem é que o servidor é o computador que você está desligando


Responder

Gostei + 0

13/05/2005

Dr. Interbase

Gente, eu não estou desligando o servidor, estou desligando o cliente. Fiz inumeros testes.

Ligo o servidor (onde está o gdb) e entro no sistema.
Ligo o cliente e entro no sistema, Fique claro, no cliente eu pus um atalho para o sistema que está no servidor, ou seja ele carrega em memoria o sistema que está no servidor.

Certo ??

Aí vou no cliente, saio do sistema e desligo o micro.
Quando faço isso uns dez segundos depois, aparece a mensagem de erro no micro servidor no sistema e não me deixa trabalhar mais. Quero saber se o problema está no interbase ou na maneira que fecho o sistema. Uso o interbase 6.00 (free). E como disse quando saio do sistema. dou um commit e fecho o componente database e dou um close para sair do programa.

Obrigado.


Responder

Gostei + 0

13/05/2005

Gandalf.nho

Em vez de carregar o executável diretamente do servidor, coloque uma cópia dele no cliente, pode ser isso o problema.


Responder

Gostei + 0

16/05/2005

Dr. Interbase

Coloquei o programa no cliente, com o database apontando para o servidor, achei que funcionaria, mas deu o mesmo erro.

Socorro !!!


Responder

Gostei + 0

17/05/2005

Gandalf.nho

Estranho isso, vc tem certeza de que não está ficando nenhuma conexão ativa?


Responder

Gostei + 0

17/05/2005

Dr. Interbase

Vamos lá

Antes de sair, ou seja quando clico no botão sair.

Fecho as transações
DmSisStock.IBTransactionSisStock.Commit;

Libero da memoria o datamodulo, isto não é necessário, mas fiz para ter a certeza que fechava todas as query
DmSisStock.Free;

e saio do programa
Close;

Falta alguma coisa ???


Responder

Gostei + 0

17/05/2005

Gandalf.nho

Vc só tem uma transação no sistema todo?


Responder

Gostei + 0

17/05/2005

Dr. Interbase

Exatamente, Inicio com starttransaction quando entro no sistema e em nenhum lugar fecho a transação porque uso o commitrettainning e não o commit. Somente na saída que dou commit, fecho o banco de dados e o ibtransaction. Tinha que fechar a conexão mas não fecha.

Cara
não entendi porque dá isso.


Responder

Gostei + 0

06/06/2005

Siro

Ola.

Já tive este problema muitas vezes. Até postei um topico, mas não obtive resposta. No meu caso percebi que isto só ocorria quanto tinha 02 pc ligados diretos com cabo cross sem um Hub. Sempre tinha reclamação do cliente que o ´programa travava´ quando o cliente era desligado. Depois de muita dor de cabeça e já não tendo mais esperança que alguem me ajudar (não tem miguem em minha cidade que pudesse me dar uma orientação e não sabia a quem mais recorrer), percebi que onde tinha rede com mais de 02 pcs e era utilizado um hub isto não acontecia, então resolvi fazer um teste com o Hub entre 02 Pcs e não tive mais problemas. Não sei o motivo, mas sei que isto resolveu meu problema.

Gostaria que alguem com mais experiencia pudesse nos explicar o motivo, para que possamos entender o que acontece, bem como resolve-lo.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar