Ir para conteúdo
  • Cadastre-se

dev botao

Conexão a um banco Firebird via INI no Lazarus,


  • Este tópico foi criado há 2880 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Eu gostaria de saber como eu faço uma conexão a um banco Firebird via INI no Lazarus, para que eu consiga ter acesso aos dados e assim inserir dados e/ou puxar relatórios e para que eu possa ter o software instalado em estações conectadas ao servidor.

Ex:

[BANCO]

SERVIDOR=localhost

ARQUIVO=C:\BANCO\BASE.GDB

LOGIN=SYSDBA

SENHA=masterkey

 

Vlw

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Você precisa nos ajudar a te ajudar :)

Você não disse como está querendo acessar esta base de dados, qual componente de acesso pretende utilizar (nativo, zeos, etc) e por ai vai, dê mais informações que com certeza algum usuário poderá lhe ajudar melhor.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

var
 F1: TextFile;
 vPath1: String;
 ResultTemp: Boolean;
 CAMINHO : String ;
 Ini     : TIniFile ;
 varBD_ALIAS:string;
 varBD_PATH :String;
 varBD_HOST :String;
 varBD_USER :String;
 varBD_PASS :String;
 varBD_PORTA:String;

begin
varBD_ALIAS := 'DB';
ResultTemp := False;
CONEX01.Show ;
CONEX01.Repaint;

     //-----------> acertando alias <------------------------------
     Caminho := IncludeTrailingPathDelimiter(ExtractFileDir(application.ExeName))+'ARQCONEXAO.INI';

     if not(fileexists(CAMINHO)) then
      begin
       Showmessage('Arquivo inexistente => '+CAMINHO);
       APPLICATION.Terminate ;
       Abort ;
      end else begin
       Application.CreateForm(TSISINI,SISINI);
       if SISINI.LoadAlias > 1 then
        begin
         SISINI.ShowModal;
         if SISINI.ModalResult = MROK then
          varBD_ALIAS := SISINI.ALIAS_SELEC;
        end;
       freeAndNil(SISINI);
      end;

     //#############################################################################
     //###################> lendo paramentros do ARQUIVO INI <######################
     //#############################################################################
     Ini := TIniFile.Create(Caminho);
     try
      varBD_PATH := Ini.ReadString( varBD_ALIAS, 'PATH', '' );
      varBD_HOST := Ini.ReadString( varBD_ALIAS, 'HOST', '' );
      varBD_USER := Ini.ReadString( varBD_ALIAS, 'USER', '' );
      varBD_PORTA:= Ini.ReadString( varBD_ALIAS, 'PORTA', '' );

      if trim(Ini.ReadString( varBD_ALIAS, 'PASSWORD', '')) <> '' then
       varBD_PASS := Decrypt(HextoAscii(Ini.ReadString( varBD_ALIAS, 'PASSWORD', '')))
      else
       varBD_PASS := 'masterkey';

     finally
      Ini.Free;
     end;

    try
      DM.DATABASE.Connected := False  ;
      DM.DATABASE.HostName  := varBD_HOST ;
      DM.DATABASE.Database  := varBD_PATH ;
      DM.DATABASE.User      := varBD_USER;
      DM.DATABASE.Password  := varBD_PASS;
      if trim(textotonum(varBD_PORTA)) <> '' then
      DM.DATABASE.Port      := strtoint(textotonum(varBD_PORTA));
      DM.DATABASE.LoginPrompt := False;

      DM.DATABASE.Connected := true;


      ResultTemp := True;

     Except
     On E: Exception do
      begin
         ShowMessage('Não foi possível conectar ao Banco de Dados !!!'+E.Message);
      end;
    end;

CONEX01.Close;
Result := ResultTemp;
end;

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

31 minutos atrás, adilsonpazzini disse:

var
 F1: TextFile;
 vPath1: String;
 ResultTemp: Boolean;
 CAMINHO : String ;
 Ini     : TIniFile ;
 varBD_ALIAS:string;
 varBD_PATH :String;
 varBD_HOST :String;
 varBD_USER :String;
 varBD_PASS :String;
 varBD_PORTA:String;

begin
varBD_ALIAS := 'DB';
ResultTemp := False;
CONEX01.Show ;
CONEX01.Repaint;

     //-----------> acertando alias <------------------------------
     Caminho := IncludeTrailingPathDelimiter(ExtractFileDir(application.ExeName))+'ARQCONEXAO.INI';

     if not(fileexists(CAMINHO)) then
      begin
       Showmessage('Arquivo inexistente => '+CAMINHO);
       APPLICATION.Terminate ;
       Abort ;
      end else begin
       Application.CreateForm(TSISINI,SISINI);
       if SISINI.LoadAlias > 1 then
        begin
         SISINI.ShowModal;
         if SISINI.ModalResult = MROK then
          varBD_ALIAS := SISINI.ALIAS_SELEC;
        end;
       freeAndNil(SISINI);
      end;

     //#############################################################################
     //###################> lendo paramentros do ARQUIVO INI <######################
     //#############################################################################
     Ini := TIniFile.Create(Caminho);
     try
      varBD_PATH := Ini.ReadString( varBD_ALIAS, 'PATH', '' );
      varBD_HOST := Ini.ReadString( varBD_ALIAS, 'HOST', '' );
      varBD_USER := Ini.ReadString( varBD_ALIAS, 'USER', '' );
      varBD_PORTA:= Ini.ReadString( varBD_ALIAS, 'PORTA', '' );

      if trim(Ini.ReadString( varBD_ALIAS, 'PASSWORD', '')) <> '' then
       varBD_PASS := Decrypt(HextoAscii(Ini.ReadString( varBD_ALIAS, 'PASSWORD', '')))
      else
       varBD_PASS := 'masterkey';

     finally
      Ini.Free;
     end;

    try
      DM.DATABASE.Connected := False  ;
      DM.DATABASE.HostName  := varBD_HOST ;
      DM.DATABASE.Database  := varBD_PATH ;
      DM.DATABASE.User      := varBD_USER;
      DM.DATABASE.Password  := varBD_PASS;
      if trim(textotonum(varBD_PORTA)) <> '' then
      DM.DATABASE.Port      := strtoint(textotonum(varBD_PORTA));
      DM.DATABASE.LoginPrompt := False;

      DM.DATABASE.Connected := true;


      ResultTemp := True;

     Except
     On E: Exception do
      begin
         ShowMessage('Não foi possível conectar ao Banco de Dados !!!'+E.Message);
      end;
    end;

CONEX01.Close;
Result := ResultTemp;
end;

Esse código eu coloco em um data module?

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2880 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.