Configurar caminho do Banco de dados atraves de arquivo INI

12/02/2012

0

Gostaria de saber se vocês sabem como carregar o caminho do banco de dados através de um arquivo INI em Delphi7, Firebird2.5?
O Banco de dados foi feito no Ibconsole.

[]s
Magnata Gold

Magnata Gold

Responder

Posts

12/02/2012

Eduardo Richeli

amigo, qual componente você esta utilizando?
Responder

12/02/2012

Magnata Gold


Estou Ulilizando o SQLconnection

[]s
Responder

13/02/2012

William

Colega vc sabe trabalhar com arquivo INI, senão segue um link:
http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=1295

depois é só carregar os parâmetros nas propriedades do SQLConnection.
Responder

13/02/2012

Magnata Gold

Colega vc sabe trabalhar com arquivo INI, senão segue um link:
http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=1295

depois é só carregar os parâmetros nas propriedades do SQLConnection.


A minha conexão é local, como adpatar o arquivo .INI para uso local?

[]s

Responder

13/02/2012

Deivison Melo

Seguem abaixo exemplos usados com a conexão dbexpress usando o banco de dados firebird...

(*************************************************************************************************************************)
//Procedure para gravar arquivo ini usado no login
//inicio
procedure GravaIni(Arquivo, Sessao, Subsessao, valor: string);
var
ArqIni: TIniFile;
begin
ArqIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + Arquivo);
try
ArqIni.WriteString(Sessao, Subsessao, valor);
finally
FreeAndNil(ArqIni);
end;
end;
//fim
(*************************************************************************************************************************)
//Funcao para ler arquivo ini usado no login
//inicio
function LerIni(Arquivo, Sessao, Subsessao: string): string;
var
ArqIni: TIniFile;
sDirAplicacao: string;
begin
sDirAplicacao := ExtractFilePath(ParamStr(0));
ArqIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + Arquivo);
try
Result := ArqIni.ReadString(Sessao, Subsessao, );
finally
FreeAndNil(ArqIni);
end;
end;
//fim

(*************************************************************************************************************************)
//Lendo o arquivo ini criado (isso no create do formulário onde contém os objetos dbware´s (conexão com banco))
//inicio
begin
if not FileExists(sga.ini) then //verificando se o arquivo *.ini existe (usei o nome sga, mas o nome que você pesquisa é o mesmo nome criado)
ChamaForm(TfrmConfiguracao, frmConfiguracao) // essa procedure chama form foi feita para chamar os formularios, disponibilizarei aqui tb!
else
begin
try
with ConexaoDB do //nome do objeto dbconection do dbexpress
begin
Connected := False;
connectionname := PortoBello; //Nome do alias para conexão
drivername := interbase; //mesmo usando o firebird colocar aqui interbase, isso foi feito em delphi 7
getdriverfunc := getSQLDriverINTERBASE;
libraryname := dbexpint.dll;
params.clear;
params.add(drivername=interbase);
params.add(database= + LerInI(sga.ini, DB, caminho));
params.add(rolename=rolename);
params.add(user_name= + LerInI(sga.ini, DB, usuario));
params.add(password= + LerInI(sga.ini, DB, senha));
params.add(servercharset=);
params.add(sqldialect=3);
params.add(blobsize=-1);
params.add(commitretain=false);
params.add(waitonlocks=true);
params.add(errorresourcefile=);
params.add(localecode=0000);
params.add(interbase transisolation=readcommited);
params.add(trim char=false);
vendorlib := gds32.dll;
Connected := true;
end;
except
raise Exception.Create(Verifique se as configurações do arquivo sga.ini estão corretas!);
end;
end;
end;
//fim
(*************************************************************************************************************************)
//Chamar formulário
//inicio
procedure ChamaForm(aClasseForm: TComponentClass; aForm: TForm);
begin
{método para chamar form}
Application.CreateForm(aClasseForm, aForm);
try
aForm.ShowModal;
finally
aForm.Free;
end;
end;
//fim
(*************************************************************************************************************************)


A conexão com os componentes IBX são mais simples, apenas você terá que adaptar para que o caminho do seu banco de dados seja lido do arquivo *.ini criado para o seu sistema (ler com a função criada)...

forte abraço!

Emanoel Deivison
Recife - PE
Responder

13/02/2012

Magnata Gold

Em qual form eu coloco esses códigos?

[]s
Responder

24/07/2012

Deivison Melo

No meu caso eu coloquei em um dataModule
Responder

12/08/2012

Singular Ti

é mto simples...

function ConexaoFB:Boolean;
Var
  Caminho: String;
begin
  dmGeral.SQLConnection.Connected := false;
  caminho := LerIniConexao(conexao, caminhoBD);
  dmGeral.SQLConnection.Params.Values[Database] := Caminho;
  try
    SQLConnectionSupervisao.Connected := True;
    Result := true;
  except
    Result := false;
  end;
end;

function LerIniConexao(sSecao, sVariavel: String): String;
var
  sNomeArq: String;
  iniArq: TIniFile;
begin
  Result   := ;
  sNomeArq := extractfiledir(application.ExeName);
  sNomeArq := sNomeArq + \rede.ini;
  if FileExists(sNomeArq) Then
  begin
    iniArq := TIniFile.Create(sNomeArq);
    Result := iniArq.ReadString(sSecao, sVariavel, );     //le a string
    iniArq.Free;
  end;
  // verifica se o arquivo ini existe;
  if not FileExists(sNomeArq) then
  begin
    Erro(Atenção, o arquivo de configuração não pode ser encontrado.);
    Application.Terminate;
  end;
end;

//Arquivo Rede.ini
[conexao]
caminhoBD=localhost:D:\banco.fdb




Qualquer duvida me envie um e-mail..
Abraços!!!
Responder

12/08/2012

Deivison Melo

Conseguiu?
Responder

15/08/2012

Kleber Silva

Para vc colocar no datamodule vc deve colocar na user as classes para trabalhar com:
Texto( arquivo ini) e form
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar