|
|
|
|
|
Dicas
|
|
Visual Basic (Banco de Dados)
|
|
|
Título da Dica: Isolando a string de conexão (.UDL)
|
|
|
|
Postada em 1/9/2003 por Ð@®l@n
Quando utilizavamos ODBC era possível criar um DSN no painel de controle e a aplicação iria se referir a esse DSN.
Isso era ótimo porque a identificação do banco ficava fora da aplicação, desta forma se o banco mudasse de lugar (nome de máquina, por exemplo) era possível reconfigurar o DSN sem precisar recompilar e reinstalar a aplicação.
Mas com o ADO o conceito de DSN ficou ultrapassado. É certo que o ADO é muito melhor em performance do que o ODBC mas deixar a string de conexão dentro da aplicação gerará problemas bem desagradáveis quando ocorrer uma mudança no banco.
Para resolver esse problema podemos fazer uso dos arquivos .UDL Quando você cria qualquer arquivo no seu micro (um text file vazio, por exemplo) e da a ele a extensão .UDL ele vira um Data Link. Já foi mencionado em outras dicas que esse data link pode ser configurado com uma conexão e, ao abri-lo no notepad pode-se encontrar a string de conexão dentro dele.
Mas a questão é que ele pode ser usado diretamente, sem necessidade de copiar a string de conexão. Podemos pedir ao objeto connection que leia a string de conexão diretamente do arquivo .UDL. Veja um exemplo :
CN.OPEN "FILE NAME=C:\MinhaAplicacao\conexao.UDL"
O objeto connection irá abrir o arquivo conexao.UDL, extrair a string de conexão e utiliza-la para fazer a conexão. Desta forma o arquivo .UDL deverá acompanhar a aplicação quando ela for instalada na máquina do usuário. Quando ocorrer uma mudança no banco, bastará reconfigurar o arquivo .UDL e tudo continuará funcionando, sem a necessidade de recompilar/reinstalar a aplicação.
Obs1: Muitos recursos no Vb dificultam essa utilização, tal como o Data Environment. Se o programador não for cuidadoso, pode ter sérios problemas depois.
Obs2: Isso funciona também com ASP. Desta forma evita-se de colocar a string de conexão dentro do código ASP, podendo deixar o arquivo .UDL em uma área do micro não acessível via URL, garantindo desta forma a segurança do banco.
|
|
|
|
|