Senha do Banco de Dados no dbxconnections
Olá Pessoal! É o Seguinte:
No Delphi 7, eu tinha um arquivo .ini que continha o caminho(path)do banco de dados. No evento oncreate do meu DataModule pegava essas configurações para fazer a conexão. Porém no Delphi XE, eu sou obrigado
a distribuir o dbxconnections e dbxdrivers, o problema é que o dbxconnections mostra o usuário e a senha do banco, e eu acho muito inseguro. Queria saber se é possível e quais as configurações devo fazer para pegar as configurações de um arquivo ini, mesmo distribyuindo o dbxconnections.
Desde já, muito Obrigado.
No Delphi 7, eu tinha um arquivo .ini que continha o caminho(path)do banco de dados. No evento oncreate do meu DataModule pegava essas configurações para fazer a conexão. Porém no Delphi XE, eu sou obrigado
a distribuir o dbxconnections e dbxdrivers, o problema é que o dbxconnections mostra o usuário e a senha do banco, e eu acho muito inseguro. Queria saber se é possível e quais as configurações devo fazer para pegar as configurações de um arquivo ini, mesmo distribyuindo o dbxconnections.
Desde já, muito Obrigado.
Rafael Mota
Curtidas 0
Respostas
Marcelo Voga
11/04/2013
Não testei no XE mas passo essa informações via parâmetro
Exemplo:
with DM.SQLConnect do
begin
Connected := False;
Params.Clear;
Params.Values['DriverName'] := 'Firebird';
Params.Values['Database'] := DataBase.DatabaseName; //caminho do banco
Params.Values['RoleName'] := 'RoleName';
Params.Values['User_Name'] := 'sysdba';
Params.Values['Password'] := 'masterkey';
Params.Values['ServerCharSet'] := '';
Params.Values['SQLDialect'] := '3';
Params.Values['ErrorResourceFile'] := '';
Params.Values['LocaleCode'] := '0000';
Params.Values['BlobSize'] := '-1';
Params.Values['CommitRetain'] := 'False';
Params.Values['WaitOnLocks'] := 'True';
Params.Values['IsolationLevel'] := 'ReadCommitted';
Connected := True;
end;
Espero que ajude.
Exemplo:
with DM.SQLConnect do
begin
Connected := False;
Params.Clear;
Params.Values['DriverName'] := 'Firebird';
Params.Values['Database'] := DataBase.DatabaseName; //caminho do banco
Params.Values['RoleName'] := 'RoleName';
Params.Values['User_Name'] := 'sysdba';
Params.Values['Password'] := 'masterkey';
Params.Values['ServerCharSet'] := '';
Params.Values['SQLDialect'] := '3';
Params.Values['ErrorResourceFile'] := '';
Params.Values['LocaleCode'] := '0000';
Params.Values['BlobSize'] := '-1';
Params.Values['CommitRetain'] := 'False';
Params.Values['WaitOnLocks'] := 'True';
Params.Values['IsolationLevel'] := 'ReadCommitted';
Connected := True;
end;
Espero que ajude.
GOSTEI 0
Rafael Mota
11/04/2013
Mas dessa forma não ficarei preso a mesma senha? Tendo que compilar sempre que eu houver uma mudança de senha no Banco?
GOSTEI 0
Danillo Camargo
11/04/2013
Mas dessa forma não ficarei preso a mesma senha? Tendo que compilar sempre que eu houver uma mudança de senha no Banco?
Olá Mota. Tudo bem?
Não sei se foi essa sua pergunta mais vamos lá. Você pode configurar seu SQLConnection com as informações do banco e em seguida salvar-las em um arquivo ".ini", para isso acesse a propriedade "Params" do seu SQLConnection, clique com o botão direito do mouse e salvar.
Em seguida é só montar uma rotina para carregar as configurações a partir do arquivo ".ini".
Espero ter ajudado, qualquer dúvida estou à disposição,
Atenciosamente,
GOSTEI 0
Francisco Costa
11/04/2013
Olá Danilo!
Acho que eu não soube me expressar, o problema é o seguinte:
Como sou obrigado a distribuir o dbxconnection e dentro dele existe o login e a senha do banco de dados, qualquer um vai vai ter acesso ao meu banco. Quero saber se mesmo distribuindo o dbxconnections, posso configurar minha aplicação para pegar o caminho(path) do banco de dados de outro arquivo ini?
Acho que eu não soube me expressar, o problema é o seguinte:
Como sou obrigado a distribuir o dbxconnection e dentro dele existe o login e a senha do banco de dados, qualquer um vai vai ter acesso ao meu banco. Quero saber se mesmo distribuindo o dbxconnections, posso configurar minha aplicação para pegar o caminho(path) do banco de dados de outro arquivo ini?
GOSTEI 0