Caminho para Banco de dados interbase ou firebird

Nós programadores que utilizamos o interbase ou firebird, sempre nos deparamos com um problema, que já se tornou comum nos dias de hoje. Como vou poder alterar o caminho do meu banco sem ter de estar presente supervisionando o que meu cliente está fazendo? Bem, aqui está uma solução muito interessante.

//No Datamodule ponha um IBDatabase e renomeie para Banco,
//um IBTRansaction e renomeie para Transacao...

//Na cláusula USES:

//----------------
 SysUtils, Classes, Forms, INIFiles, IBDatabase, DB, IBCustomDataSet,
  IBQuery;


//No Create do DataMódule:

//-----------------------
procedure TDM.DataModuleCreate(Sender: TObject);
const
  AliasName = SISTEMA;
  FileName = Config.ini;
var
  ServerName: String;
  IniFileName: TIniFile;
  ListaParms: TStringList;
begin
{
  //Lê arquivo.ini no diretório da aplicação
  IniFileName:= TIniFile.Create(ExtractFilePath(ParamStr(0))+FileName);
  try
    ServerName:= Trim(IniFileName.ReadString(SISTEMA,BANCO,));
  finally
    IniFileName.Free;
  end;
  //Termina a aplicação se o servidor não foi fornecido
  if ServerName = then
  Begin
    frmCaminhoBanco := TfrmCaminhoBanco.Create(Application);
    frmCaminhoBanco.ShowModal;
    frmCaminhoBanco.Free;
  end;
  //Cria lista de Parâmetros
  ListaParms:= TStringList.Create;
  With ListaParms do
    begin
      add(user_name=SYSDBA);
      add(password=masterkey);
    end;
  //Define conexão
  try
    try
      Banco.DatabaseName:= ServerName;
      Banco.Params:= ListaParms;
    except
      Begin
        frmCaminhoBanco := TfrmCaminhoBanco.Create(Application);
        frmCaminhoBanco.ShowModal;
        frmCaminhoBanco.Free;
      end;
    end;
  finally
    ListaParms.Free;
  end;
}
end;

//No Destroy do DataModule:
//------------------------

  Banco.Connected := False;

 

Qualquer dúvida me enviem um e-mail:

emircalife@yahoo.com.br

Artigos relacionados