Um arquivo DSN (nome de origem do banco de dados) permite que vários usuários se conectem a um banco de dados com informações em um arquivo simples. Ele é usado pelo programa cliente de banco de dados — neste caso, software no IRI Workbench — para se conectar a um banco de dados.
O arquivo DSN descreve propriedades como:o nome e o diretório da origem de dados, o driver de conexão, o endereço do servidor, o ID do usuário e uma senha. Ele é usado por drivers ODBC para se conectar a qualquer banco de dados que suporte esse protocolo. Normalmente armazenados como texto simples, os arquivos DSN oferecem:
- Conveniência – eles eliminam a necessidade de configurar conexões localmente.
- Portabilidade – eles podem ser compartilhados entre diferentes usuários e facilmente alterados.
- Segurança – eles podem ser salvos em repositórios, como o Git, com acesso restrito.
As etapas abaixo mostram como criar e usar arquivos DSN com scripts de trabalho IRI (CoSort SortCL, etc.) quando /PROCESS=ODBC é usado para processar dados em bancos de dados relacionais.
Etapa 1 – Obtenha e instale o driver ODBC para seu cliente e servidor
Para construir um arquivo DSN, certifique-se de ter o driver ODBC correto para seu banco de dados e seu servidor; por exemplo, MySQL no Windows. Para esta descrição, suponha que o banco de dados e o servidor estejam em uma máquina local.
Etapa 2 – Localize e inspecione o odbcinst. ini (conector) arquivo
Em cada caso, você precisa de um arquivo odbcinst.ini para servir como um conector entre sua biblioteca de drivers ODBC e o arquivo DSN que se refere a ela. Este arquivo contém as informações de local/link que o arquivo DSN requer.
Estou executando o MySQL em um PC com Windows 7. Com a maioria dos outros sistemas operacionais, essas etapas podem ser diferentes e podem ser modificadas com informações encontradas em pesquisas que explicam como se conectar a diferentes tipos de servidores.
Meu arquivo odbcinst.ini está em C:\Windows. Se você não conseguir encontrá-lo, poderá obtê-lo no site oficial do servidor escolhido, se ele for compatível com a instalação das informações no arquivo odbcinst.ini.
O arquivo odbcinst.ini a seguir foi criado pelo MySQL usando sua instalação de conector.
Você também pode inserir manualmente os mesmos detalhes que vê no meu:
[MySQL ODBC 5.3 Unicode Driver (32 bit)] Driver=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5w.dll Setup=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5S.dll 32Bit=1 [MySQL ODBC 5.3 ANSI Driver (32 bit)] Driver=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5a.dll Setup=C:\Program Files (x86)\MySQL\Connector ODBC 5.3\myodbc5S.dll 32Bit=1
Cada sistema operacional será diferente e esse arquivo pode ser configurado de várias maneiras. Como exemplo, o seguinte foi inserido por um usuário em um arquivo odbcinst.ini no Linux:
[MySQL] Description = ODBC for MySQL Driver = /usr/lib/libmyodbc3.so Setup = /usr/lib/libodbcmyS.so FileUsage = 1
Depois que o arquivo do conector estiver configurado corretamente, vá para a próxima etapa:
Etapa 3 – Crie o arquivo DSN
Para este exemplo, assume-se que existe um banco de dados MySQL chamado “clientes” que possui uma tabela chamada “leal” contendo nomes e números de telefone para rastrear clientes fiéis. Insirai a variável DSN manualmente no meu exemplo, mas o utilitário de administrador ODBC do Windows pode criar um arquivo DSN para você por meio da guia File DSN.
As variáveis mínimas necessárias para qualquer arquivo DSN são:
[ODBC] DRIVER= DATABASE= SERVER=
A variável DRIVER vem do arquivo odbcinst.ini. No exemplo do Windows acima, você digitaria MySQL ODBC 5.3 Unicode Driver (32bit).
O DATABASE é o nome do banco de dados a ser acessado, neste caso, “clientes”.
O SERVER é o local do banco de dados. Nesse caso, a localização é “localhost” (pois o banco de dados está na máquina local).
O arquivo DSN completo conterá:
[ODBC] DRIVER=MySQL ODBC 5.3 Unicode Driver (32 bit) DATABASE=clients SERVER=localhost
Observe que a especificação DRIVER precisa corresponder exatamente ao texto no cabeçalho entre colchetes aplicável ao driver no arquivo odbcinst.ini. O arquivo DSN deve conter os detalhes da conexão do servidor de banco de dados, independentemente de o executável ser executado no cliente de design de tarefa ou em um servidor de produção/banco de dados.
Um arquivo DSN pode ter mais informações. Neste exemplo, as três linhas que serão adicionadas são:UID, PASSWORD e PORT. O UID é qualquer ID de usuário que tenha acesso ao servidor. Aqui, o UID é root e a SENHA é “minha senha”. Eu usei a porta padrão do MySQL, 3306.
O arquivo DSN atualizado conterá:
[ODBC] DRIVER=MySQL ODBC 5.3 Unicode Driver DATABASE=clients SERVER=localhost UID=root PASSWORD=mypassword PORT=3306
O arquivo DSN agora pode ser salvo com qualquer nome com uma extensão .dsn. Eu especifiquei TEST.DSN.
Qualquer script de trabalho IRI (com base no programa CoSort SortCL, incluindo NextForm e FieldShield) pode usar as informações do arquivo DSN quando /PROCESS=ODBC for especificado e a declaração do arquivo de entrada ou saída contiver o parâmetro FILEDSN definido igual ao arquivo .DSN.
Este script de trabalho SortCL usa o arquivo DSN acima:
/INFILE="loyal;FILEDSN=C:\Users\LocalUser\Documents\Test.dsn;" /PROCESS=ODBC /ALIAS=loyal /FIELD=(NAME, TYPE=ASCII, POSITION=1, SEPARATOR="\t", EXT_FIELD="name", PRECISION=0) /FIELD=(PHONE, TYPE=ASCII, POSITION=2, SEPARATOR="\t", EXT_FIELD="phone", PRECISION=0) /REPORT /OUTFILE=stdout /PROCESS=RECORD /FIELD=(NAME, TYPE=ASCII, POSITION=1, SEPARATOR="\t", EXT_FIELD="name", PRECISION=0) /FIELD=(PHONE, TYPE=ASCII, POSITION=2, SEPARATOR="\t", EXT_FIELD="phone", PRECISION=0)
Como o exemplo acima ilustra, o caminho absoluto para o arquivo DSN deve ser especificado.
Os DSNs de arquivo podem ser registrados no Registro de Conexão de Dados assim como todas as outras conexões ODBC. Vá para Preferências> Registro de conexão de dados> Adicionar . Selecione File DSN e insira o local do seu arquivo. Essa conexão pode ser usada em assistentes em todo o Workbench.
Consulte este artigo sobre como registrar suas conexões de banco de dados no IRI Workbench e entre em contato com [email protected] se precisar de ajuda.