A rede Funciona mas quando um micro desliga dá pau no servid
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
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
Curtidas 0
Respostas
Gandalf.nho
11/05/2005
Vc está fechando a conexão com o banco ao sair do sistema e fechando corretamente o sistema antes de desligar a máquina?
GOSTEI 0
Dr. Interbase
11/05/2005
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
Obrigado
GOSTEI 0
Edilcimar
11/05/2005
host é hospedeiro, portanto servidor, a mensagem é que o servidor é o computador que você está desligando
GOSTEI 0
Dr. Interbase
11/05/2005
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.
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.
GOSTEI 0
Gandalf.nho
11/05/2005
Em vez de carregar o executável diretamente do servidor, coloque uma cópia dele no cliente, pode ser isso o problema.
GOSTEI 0
Dr. Interbase
11/05/2005
Coloquei o programa no cliente, com o database apontando para o servidor, achei que funcionaria, mas deu o mesmo erro.
Socorro !!!
Socorro !!!
GOSTEI 0
Gandalf.nho
11/05/2005
Estranho isso, vc tem certeza de que não está ficando nenhuma conexão ativa?
GOSTEI 0
Dr. Interbase
11/05/2005
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 ???
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 ???
GOSTEI 0
Gandalf.nho
11/05/2005
Vc só tem uma transação no sistema todo?
GOSTEI 0
Dr. Interbase
11/05/2005
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.
Cara
não entendi porque dá isso.
GOSTEI 0
Siro
11/05/2005
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.
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.
GOSTEI 0