DBExpress Ini

Delphi

18/06/2004

Gostaria de saber como eu faço para configurar o DBEXPRESS a partir de um ini por exemplo o componente ´SQLConnection´, é preciso configurar o IP do servidor entre outras coisas.... como eu faço para pegar essas configurações de um ini ou de um arquivo de Texto qualquer eu utilizou o MYSQL como banco de conexão...

agradecendo desde já a atenção


Ztiago

Ztiago

Curtidas 0

Respostas

Leonardoag

Leonardoag

18/06/2004

Uso Firebird... mas deve ser mais ou menos a mesma coisa...


assignfile(arquivo, ´arquivo.ini´);
reset(arquivo);

var
rede, ip, local: string;
arquivo: textfile;

// 1 se for rede, 0 se for local...
readln(arquivo, rede);
rede:=trim(rede);

// ip do servidor se for rede, vazio se for local...
readln(arquivo,ip);
ip:=trim(ip);

// Alias ou caminho do Banco de dados...
readln(arquivo,local);
local:=trim(local);

closefile(arquivo);

with modulo.sqlconnection do
begin
params.values[´DriverName´] :=´Interbase´;
params.values[´BlobSize´] :=´-1´;
if (rede = ´1´) then params.values[´Database´]:=ip+´:´+local
else params.values[´Database´]:=local;

params.values[´CommitRetain´] :=´false´;
params.values[´LocaleCode´] :=´0000´;
params.values[´Password´] :=´senha´;
params.values[´ServerCharSet´]:=´Iso8859_1´;
params.values[´SQLDialect´] :=´3´;
params.values[´Interbase TransIsolation´]:=´ReadCommited´;
params.values[´User_Name´] :=´USUARIO´;
params.values[´WaitOnLocks´] :=´True´;

try
connected:=true;
except
begin
showmessage(´Erro na abertura do Banco de Dados!´+#10+
´Por favor entre em contato com o Administrador do Sistema!´);
exit;
end;
end;

Espero que ajude...


GOSTEI 0
Cabelo

Cabelo

18/06/2004

procedure TDM.DataModuleCreate(Sender: TObject);
var v_arquivo : string;
v_ini : TIniFile;
begin
v_arquivo := caminho do arquivo .INI
try
sqlTP.Connected := false;
except
MessageDlg(´O Banco de Dados já possui uma instancia, ´+#13+9+
´Reinicie seu Computador ou contate o Administrador.´, mterror,[mbOk], 0);
Halt(0);
end;
if FileExists(v_arquivo) then
begin
v_ini := TIniFile.Create(v_arquivo);
sqlTP.LoginPrompt := false;
sqlTP.KeepConnection := true;
sqlTP.ConnectionName := v_ini.ReadString(´TPS´, ´CONNECTIONNAME´, ´´);
sqlTP.DriverName := v_ini.ReadString(´TPS´, ´DRIVERNAME´, ´Interbase´);
sqlTP.LibraryName := v_ini.ReadString(´TPS´, ´LIBRARYNAME´, ´´);
sqlTP.GetDriverFunc := v_ini.ReadString(´TPS´, ´GETDRIVERFUNC´, ´´);
sqlTP.VendorLib := v_ini.ReadString(´TPS´, ´VENDORLIB´, ´´);
sqlTP.LoadParamsFromIniFile(v_arquivo);
try
sqlTP.Connected := true;
except on E:Exception do
begin
MessageDlg(´Erro na Conexão com o Banco de Dados ´+#1013+
´Erro: ´+E.Message, mterror, [mbOk], 0);
halt(0);
end;
end;
end
else
begin
MessageDlg(´O arquivo .INI não foi encontrado´, mterror, [mbOk], 0);
halt(0);
end;
end;

não esqueça de utilizar na USES IniFiles;

no arquivo .INI, vc deve colcar assim :

[TPS]
LIBRARYNAME=dbexpint.dll
GETDRIVERFUNC=getSQLDriverINTERBASE
VENDORLIB=gds32.dll
DRIVERNAME=Interbase
CONNECTIONNAME=TP

[TP]
DriverName=Interbase
Database=caminho do banco de dados
RoleName=RoleName
User_Name=Usuario default do banco
Password=senha default do banco
ServerCharSet=WIN1252
SQLDialect=1
BlobSize=-1
CommitRetain=False
WaitOnLocks=True
ErrorResourceFile=
LocaleCode=0000
Interbase TransIsolation=ReadCommited
Trim Char=False


espero ter ajudado..

sem mais

Cabelo


GOSTEI 0
POSTAR