quarta-feira, 11 de março de 2009

SQLConnection - utilizando arquivo de configurações

Bom, creio que muitos já utilizaram este método de desenvolvimento, outros muitos procuram uma maneira de deixar o caminho de conexão ao banco de dados dinâmica, para que em tempo de design na sua estação de trabalho você possa utilizar a base de dados em determinado caminho e que no cliente, sem precisar recompilar o sistema, ou ainda, possa estar conectando a uma base em rede alterando apenas um único arquivo de configurações, chamados de arquivos INI.

Adicionado e configurado um novo componente SQLConnection à sua aplicação, adicione em seu evento OnBeforeConnect (antes de conectar) o seguinte trecho de código:

procedure TDM.CONEXAOBeforeConnect(Sender: TObject);
var
Arquivo: TIniFile{uses IniFiles};
begin
Try
Arquivo:= TIniFile.Create(ExtractFilePath(Application.ExeName)+'CONF.ini');
with DM.CONEXAO do
begin
Params.Values['DATABASE'] := Arquivo.ReadString('DADOS','DATABASE','');
Params.Values['USERNAME'] := Arquivo.ReadString('DADOS','USERNAME','');
Params.Values['PASSWORD'] := Arquivo.ReadString('DADOS','PASSWORD','');
Arquivo.Free
end;
Except
ShowMessage('Não foi possivel conectar! Nenhum servidor disponível...');
End;
end;


Note que estamos criando um novo objeto de inicialização, o qual carregará do mesmo diretório onde encontra-se o executável da aplicação um arquivo "Conf.ini". Este arquivo por sua vez contém as configurações como endereço da base de dados, usuário do banco e senha. Atribuimos então os valores a estes parâmetros de configuração do SQLConnection, acessando os valores da seção "DADOS" e lendo qual valor está armazenado em cada uma das propriedades.

NOTA: Aconselho deixar a propriedade Connected do SQLConnection como False para evitar problemas de conexão.

Criando o Arquivo *.INI

A criação do arquivo de configurações é muito simples, basta que através do bloco de notas crie um novo documento, adicione a ele uma nova seção "[DADOS]" e dentro desta seção, vá adicionando as propriedade que serão lidas pela sua aplicação, ficando assim organizado:
[DADOS]
DATABASE=192.160.10.100/3050:C:\Banco\banco.fdb
USERNAME=SYSDBA
PASSWORD=*********


NOTA: Há diferentes maneiras de você informar o caminho da base de dados, levando em consideração a estrutura e a segurança da rede onde o mesmo será instalado. O uso do IP antecendo o caminho físico do banco é altamente recomendado, em casos do sistema rodar apenas em localhost, use o IP 127.0.0.1, seguido do caminho físico da base, em casos de possuir um servidor de banco de dados, utilize o IP do servidor seguido pelo caminho físico da base no servidor, assim:
192.160.10.100:C:\Banco\banco.fdb
Mas, se você usa a base de dados em rede, e o servidor da aplicação possui Firewall de acesso, será necessário a liberação de acesso à porta 3050 (conexão utilizada pelo Firebird) e passar a utilizar o número da porta junto ao endereço IP, assim:
192.160.10.100/3050:C:\Banco\banco.fdb

Bom, desta forma você conseguirá criar suas aplicações, instalar as mesmas em seus clientes sem necessidade de recompilar pelo motivo do caminho físico da base. Abraço e até o próximo post.

Nenhum comentário: