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

Delphi + Firebird: melhor forma de conectar a aplicação ao banco


Musashi_RS

Pergunta

Olá pessoal, gostaria de uma dica de vocês, se possível. :rolleyes:

É o seguinte, eu sei como criar um arquivo .fdb para o Firebird, utilizando o IBExpert. No entanto, eu sei apenas configurar de forma local.

Gostaria de saber se há uma forma prática de fazer a configuração das estações em rede, seja por um arquivo .ini ou configurando algum parâmetro do Firebird. Eu não sei como seria interessante eu fazer isso.

Obrigado. :blush:

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olá

Uso o componente SQLConnection da paleta DBExpress e faço a configuraçao utilizando um arquivo *.ini

Para rodar nas estaçoes de rede, basta usar o endereço IP do servidor onde sua base está hospedada, e até, poderá setar uma porta pela qual o firebird irá se conectar, assim:

IP/porta:C:\<seu banco>
192.160.10.100/3050:C:\Banco\banco.fdb
No SQLConnection, usa um código semelhante ao seguir no evento OnBeforeConnection (mas deixe o connected sempre como false):
procedure TDM.CONEXAOBeforeConnect(Sender: TObject);
var
Arquivo: TIniFile{uses IniFiles};
begin
  Try
     Arquivo:= TIniFile.Create(ExtractFilePath(Application.ExeName)+'CONF.ini');
     with DM.CONEXAO do
     begin
       Params.Values['DATABASE'] := Arquivo.ReadString('DADOS','DATABASE','');
       Params.Values['USERNAME'] := Arquivo.ReadString('DADOS','USERNAME','');
       Params.Values['PASSWORD'] := Arquivo.ReadString('DADOS','PASSWORD','');
       Arquivo.Free
     end;
  Except
    ShowMessage('Não foi possivel conectar! Nenhum servidor disponível...');
  End;
end;
Seu arquivo conf.ini deverá ser semelhante a este, no mesmo diretório que o executável do sistema:
[DADOS]
DATABASE=192.160.10.100/3050:C:\Banco\banco.fdb
USERNAME=SYSDBA
PASSWORD=*********

Assim, você desenvolve o sistema na sua estação local e sai para instalação apenas editando o caminho da base de dados no arquivo .ini

Att

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

  • 0

Bom, quando você coloca o componente na tela faz a configuração normal dele.... pode setar uma base de dados a ser utilizada enquanto desenvolve (modo design).... define nome da conexão... dll a ser utilizada... drivers, etc, tudo normal. A única coisa que muda, é que em tempo de execução ele irá utilizar as configurações contidas no arquivo *.ini ou *.conf conforme você criar.

Att

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado. Localmente funcionou através do anrquivo .ini. No entanto, em uma estação de rede não funcionou. Primeiro informava que não era possível carregar o arquivo dbexpint.dll. Dai coloquei essa dll no path da aplicação em rede e ocorreu outro erro.

Quando mando conectar com o banco, a aplicação trava por um tempo e então me retorna o seguinte erro:

"Unable do complete network request to host '192.168.1.1'. Filed to estabilish connection. Unknown Win32 error 10060."

O que posso estar fazendo de errado?

Link para o comentário
Compartilhar em outros sites

  • 0

Verificou o firewall da máquina na qual está tentando se conectar? e se usar a porta 3050?

Declare no DataModule onde se encontra o SQLConnection a uses MidasLib, incorpora a dll direto ao executável.

Tente usar o nome da máquina ao invés do IP

<Nome>:<caminho>

Att

Link para o comentário
Compartilhar em outros sites

  • 0

Em principio conectou agora. Era uma barra "\" antes do caminho.

Achei estranho, pois no site Firebase informa que o path de conexão deve ser assim:

192.168.1.1:c:\banco\dados.fdb.

Tive que alterar para:

192.168.1.1:\c\banco\dados.fdb.

A não ser que a conexão esteja se referindo localmente.. daí pode ser mesmo... acho que foi esse o erro então. Obrigado pela ajuda.

Editado:

Realmente eu não me liguei que "C:" não pode ser em rede.... teria que ser apenas "c".

Editado por Musashi_RS
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,7k
×
×
  • Criar Novo...