Fórum DBExpress Ini #238482
18/06/2004
0
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
agradecendo desde já a atenção
Ztiago
Curtir tópico
+ 0
Responder
Posts
18/06/2004
Leonardoag
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...
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...
Responder
Gostei + 0
18/06/2004
Cabelo
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
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)