Ir para conteúdo
Fórum Script Brasil
  • 0

Conexao com o servidor


danielrgoes

Pergunta

Boa Tarde pessoal

estou com um problema meu sistema tem acesso ao banco de dados firebird que fica no meu servidor

\\Servidor1\c\Banco\banco.fdb

quando eu inicio o meu datamodulo eu colocoquei pra dar um

try

conexao.open (TSQLConnection);

cds_tabela.open;

sql_tabela.open;

except

ShowMessahe ('Erro ao conectar no banco de dados');

application.termined;

end;

ou seja se der erro para abrir o banco ele não entra do sistema e exibi um erro

mais eu depuguei o sistema e mesmo sem conexao com o meu servidor o sistema passa pela linha

conexao.open

e vai da erro na

cds_open

não entra na excessao abre um monte de tela com erro ao se conectar com \\\Servidor1

gostaria de antes de abrir o sistema verificar se tenho conexao com o meu Servidor1

tem como faze isso?

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
estou com um problema meu sistema tem acesso ao banco de dados firebird que fica no meu servidor

\\Servidor1\c\Banco\banco.fdb

gostaria de antes de abrir o sistema verificar se tenho conexao com o meu Servidor1

Conexão Remota pelo IP 192.6.1.4 por exemplo

O caminho ficaria assim:

192.6.1.4:c:\Banco\banco.fdb

no evento onCreate do seu Form coloque::

try
  IBDatabase1.Connected := True;
except
  ShowMessage('não foi possível realizar a conexão com o BD');
end;
no OnClose ou OnDestroy do form coloque:
try
   if IBTransaction1.InTransaction then
      IBTransaction1.Commit;
      IBDatabase1.Connected := False;
except
   ShowMessage('erro de comunicação com o BD');
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

CDS_Tabela: Cannot perform this operation on a closed dataset

CDS_Tabela: Não pode executar esta operação em um dataset fechado

OBS: existe algum comando para uso desta tabela antes que a conexão com o banco tenha sido feita

neste caso voce deverá procurar no seu código onde esta esse comando e troca-lo de lugar, pois ele esta antes do comando de conexão com o banco de dados.

outro motivo seria ... foi feito a conexão com o banco de dados, mas a tabela não foi aberta ( CDS_Tabela.Open ) por isso ocorre esse errro.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas o meu problema esta o seguinte no evento DataModuleCreate tem o cod

procedure Tmodulo.DataModuleCreate(Sender: TObject);

begin

try

conexao.Close;

conexao.LoadParamsFromIniFile('bancofb.ini');

conexao.open;

except

raise Exception.create('Erro ao conectar o banco de dados');

Application.HandleException(Application);

application.Terminate;

// -------------- abre as tabelas do banco ----------------------

cds_funcionario.Open;

sql_funcionario.Open;

end;

end;

Oque esta acontecendo é que quando tenta da um .Open na conexao e esta fora da rede gera a minha excessao

raise Exception.create('Erro ao conectar o banco de dados');

porem em vez de fechar a aplicação como eu mando

application.Terminate;

aparece uns 20 erros desse

CDS_Tabela: Cannot perform this operation on a closed dataset

eu gostaria que gerase minha excessao e fechase a aplicaçao

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...