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

Conexão ao banco em tempo de execução


renanbg

Pergunta

Amigos, em tempo de projeto eu tenho meu database ligado ao banco de dados local e como active = True. Tudo setado no Object Inspector. 

Aí, no meu DPR faço a conexão com o banco do servidor, em tempo de execução, usando um arquivo .INI. 

  Application.Initialize; 
  Application.MainFormOnTaskbar := True; 
  Application.CreateForm(TFrmDm, FrmDm); 

  FrmDm.dbCompras.Connected := False; 

  if not FileExists(ExtractFilePath(ParamStr(0)) + 'Config.ini') then 
  begin 
    MessageBox(Application.Handle, 'Arquivo de configuração, Config.ini, não encontrado.', 'Gestão de Compras RM', MB_ICONERROR); 
    Exit; 
  end; 

  Ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'Config.ini'); 
  Dir_banco := Ini.ReadString('Banco', 'Dir', '***'); 
  Ini.Free; 

  if Dir_banco = '***' then 
  begin 
    MessageBox(Application.Handle, 'Configuração de acesso ao banco de dados incorreta.', 'Gestão de Compras RM', MB_ICONERROR); 
    Exit; 
  end; 

  if Copy(Dir_banco, Length(Dir_banco), 1) <> '\' then 
     Dir_banco := Dir_banco + '\'; 

  frmdm.dbCompras.DatabaseName := Dir_banco + 'CADASTRO.FDB'; 

 Frmdm.dbCompras.Connected := True; 

De uns dias pra cá, o sistema teima em não respeitar esse INI. 
Ele insiste em conectar no caminho que está fixo no datamodule. 

Já debuguei e ele busca a informação do banco no servidor corretamente, mas ao chegar na hora de conectar = True, ele diz que não acha o banco local. 

Alguém mais passou por isso ou tem alguma dica pra me dar?

Editado por renanbg
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'Config.ini'); 
  Dir_banco := Ini.ReadString('Banco', 'Dir', '***'); 
  Ini.Free; 

OBS: O problema está no comando de leitura do arquivo INI

veja esses exemplos de como fazer a leitura de um arquivo INI

https://www.google.com.br/search?ei=NcbtWpXzOYGlwgTp5rGwDA&q=ler+arquivo+ini+delphi&o que=ler+arquivo+ini+&gs_l=psy-ab.1.0.0l4j0i22i30k1l6.271488.274939.0.277673.16.9.0.7.7.0.160.754.0j6.6.0....0...1c.1.64.psy-ab..3.13.848...0i67k1j0i131k1.0.RNpLmjorUB0

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

achei que voce estava deixando o database desativado para fazer a leitura para  depois ativa-lo novamente.

OBS: Se voce fizer um teste em qualquer form que precise de conexão com a tabela, o database é ativado automaticamente, mas não é desativado depois ....  então não esqueça de fazer isso antes de executar o programa.

abraço

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...