Database Alias

Utilizando Database Alias no InterBase 7.5 e no FireBird 1.5

 

Neste artigo veremos como criar e utilizar databases alias no InterBase 7.5 e no FireBird 1.5.2. O Database Alias é um nova característica que foi adicionada tanto no IB como no FB para que possamos criar “apelidos” para nossos banco de dados eliminando assim a necessidade de conhecer todo o caminho físico até o arquivo de banco de dados (*.IB ou *.FDB). Utilizando alias em nosso banco de dados nós fazemos com que nossa aplicação cliente faça referencia ao alias para conectar ao banco de dados, não sendo mais necessário armazenar o caminho completo do arquivo de banco de dados dentro do componente de conexão da aplicação. A utilização de alias permite maior segurança, visto que o caminho físico do banco de dados não fica mais visível na aplicação cliente, e ainda permite maior flexibilidade para alteração física do banco de dados da aplicação, sendo que utilizando alias só precisamos especificar o novo caminho do banco de dados na definição do alias sem a necessidade de alterarmos nossa aplicação cliente.

Definindo Database Alias no InterBase

No Borland InterBase 7.5 os databases alias ficam armazenados dentro do banco de dados ADMIN.IB na tabela DB_ALIAS.

 

Nota. O banco de dados admin.ib acompanha a instalação do InterBase e fica localizado no diretório raiz da instalação.

 

Até a data de fechamento deste artigo a última versão do IBConsole não trazia nenhuma opção gráfica para criação e gerenciamento de alias para os bancos de dados registrados dentro do servidor InterBase. Para criar um alias para um determinado banco de dados podemos utilizar o utilitário de linha de comando GSEC que acompanha o InterBase. O utilitário GSEC trabalha em conjunto com o banco de dados admin.ib (banco de dados de segurança do InterBase) para gerenciar a segurança nos banco de dados InterBase, permitindo a especificação dos usuários e senhas para acesso ao servidor.

 

Nota. Somente o usuário SYSDBA tem permissão para utilizar o GSEC e manipular as tabelas do banco admin.ib.

 

Para utilizar o utilitário por linha de comando GSEC abra uma janela console (msdos) digitando a instrução cmd na opção “Executar...” no menu iniciar do Windows. Para executar a ferramenta utilize o seguinte comando:

 

GSEC –USER sysdba –PASSWORD masterkey

 

Caso vocês recebam um erro do tipo “comando não encontrado” ao tentar executar o comando acima é devido ao path do InterBase não estar contido  nas variáveis de sistema do Windows. Você pode executar o comando novamente a partir do diretório bin do Interbase ou adicionar o caminho do diretório na variável de sistema path no Windows a partir da opção Sistema disponível no painel de controle.

Veja a execução do GSEC na Figura 1.

 

Figura 1. Executando o utilitário por linha de comando GSEC para gerenciamento dos database alias no servidor InterBase.

Para adicionar um novo alias a um banco de dados utilize o comando alias_add. Sintax:

 

GSEC> alias_add caminho_banco_dados nome_alias

 

Onde o caminho_banco_dados nós informamos o caminho físico do arquivo de banco de dados InterBase entre aspas duplas, e no nome_alias o nome a ser utilizado para acessá-lo.

Exemplo:

 

GSEC>alias_add“c:\ArquivosdeProgramas\Borland\Interbase\Examples\Employee.gdb” EMPLOYEE

 

Utilize o comando alias_dis para verificar a criação do alias employee. O comando alias_dis lista todos os database alias armazenados no banco de dados de segurança do InterBase (admin.ib). Para remover um alias do banco de segurança admin.ib basta utilizar o comando alias_del. Sintax:

 

GSEC> alias_del nome_alias

 

Onde o nome_alias é o nome do database alias que deseja remover. Exemplo:

 

GSEC> alias_del EMPLOYEE

 

Veja os comandos em execução na Figura 2.

 

Figura 2. Adicionando, visualizando e removendo database alias através do utilitário GSEC.

Nota. Você pode também gerenciar os alias diretamente na tabela DB_ALIAS do banco de dados de segurança ADMIN.IB. Para isto basta registrar o banco admin.ib na ferramenta IBConsole, conectar no banco utilizando o usuário sysdba e manipular os dados da tabela DB_ALIAS diretamente.

Definindo Database Alias no FireBird

No Firebird 1.5 os database alias ficam armazenados dentro de um arquivo de configuração chamado aliases.conf.

 

Nota. O arquivo de configuração aliases.conf acompanha a instalação do Firebird e fica localizado no diretório raiz da instalação.

 

Para criar e gerenciar databases alias no Firebird basta editar o arquivo aliases.conf. Você pode abrí-lo para edição utilizando o próprio bloco de notas do Windows. Veja a estrutura do arquivo aliases.conf na Figura 3.

 

Figura 3. Estrutura do arquivo de configuração para gerenciamento dos database alias para o Firebird.

Nota. As linhas que contém o caracter especial # no inicio da linha, são tratadas como comentários sendo ignoradas pelo servidor do Firebird.

 

Para incluir um database alias para um banco de dados Firebird basta adicionar uma linha neste arquivo utilizando a seguinte sintax:

 

Nome_alias = caminho_banco_dados

 

Onde o nome_alias diz respeito ao nome que será atribuído ao novo alias, e o caminho_banco_dados o caminho físico até o arquivo de banco de dados do Firebird (*.fdb). Exemplo:

 

EMPLOYEE = D:\Program Files\Firebird\Firebird_1_5\examples\Employee.fdb

 

Na linha acima nós criamos um novo alias para o banco de dados Employee.fdb de nome EMPLOYEE. Veja o arquivo de configuração com o novo alias na figura 4.

 

Figura 4. Adicionando database alias ao banco de dados Employee.fdb que acompanha o Firebird.

Você pode adicionar quantos database alias quiser dentro do arquivo de configuração aliases.conf, sempre tomando cuidado para não repetir o nome do alias, isto é, não criando dois alias de nomes iguais apontando para diferentes banco de dados Firebird.

Veja na figura 5 um exemplo de conexão com dbExpress utilizando database alias que pode ser utilizado para conectar tanto no Interbase quanto no Firebird.

 

Figura 5. Configurando o componente sqlConnection (dbExpress) para acessar o banco de dados Employee através do seu alias.

Repare que antes do nome do database alias no parâmetro Database nós devemos especificar o IP ou o nome da máquina que contém o servidor IB/FB rodando. Na imagem de exemplo, como o servidor está instalado na máquina local utilizamos o IP local 127.0.0.1 (equivalente a localhost).

 

Nota. O uso do nome ou IP da máquina servidora antecedendo o database alias é obrigatório para que a aplicação saiba onde procurar pela configuração do database alias para verificar sua existência e fazer conexão com o banco de dados mapeado, lembrando que a configuração dos database alias ficam armazenados na máquina onde reside o servidor do IB ou FB.

Conclusão

Neste artigo vimos que a utilização de database alias nos permite maior flexibilidade e segurança no uso de banco de dados Interbase e Firebird. Está nova característica está presente apenas nas versões corrente dos dois banco de dados, e é bastante simples de ser utilizada. Um abraço e até a próxima.