Carga de dados – SQL Server X Interbase

Exemplo prático de carga de dados entre o SQL Server e o Interbase, utilizando-se o Enterprise Manager - DTS e um Driver ODBC para o Interbase.

Carga de dados – SQL Server X Interbase

A comunicação entre sistemas nos dias atuais é comum e pode ser feita de diversas formas. Dentre as principais podemos citar os populares Web services e a transferência de dados via importação/exportação de arquivos.

Os Web services, oriundos da popularização da Internet, da constante evolução das redes de computadores e da significativa baixa nos preços da banda para acesso à Web, estão sendo amplamente utilizados hoje em dia pois trazem muitas vantagens em sua utilização, dentre elas gostaria de destacar a interoperabilidade entre sistemas, ou seja, um sistema desenvolvido em Java pode perfeitamente consumir um Web service disponibilizado por outro sistema desenvolvido em, por exemplo, C#.Net.

figura 1 – web services

 

Uma outra forma, que ainda é muito utilizada é a comunicação através da importação/exportação de arquivos. Neste caso, um sistema gera um arquivo em Layout pré definido, normalmente em formato texto (txt ou xml) para que um outro sistema possa importar os dados.

figura 2 – importação/exportação de arquivo

 

No entanto, em nosso dia-a-dia podem ocorrer casos em que nos deparamos com sistemas legados que não dispõem de nenhum destes mecanismos, ou que dispõem de funcionalidades que não atendem as nossas demandas. Para estes casos, onde necessitamos de carregar dados de um sistema para outro, existe a possibilidade da utilização de um SGBD (em nosso artigo utilizaremos o SQL Server ) para a execução desta atividade.

Por exemplo, imagine uma situação onde uma determinada empresa de Administração de Imóveis possui em um de seus sistemas, um cadastro de todos os seus clientes. Inclua também neste estudo de caso, uma outra empresa de Cobrança que foi contratada para cobrar os clientes da Administradora de Imóveis, que encontram-se inadimplentes. Ambas possuem seus sistemas, que funcionam de forma independente, sendo que ambos os sistemas não dispõem de funcionalidades que habilitem a comunicação entre eles. Note que neste caso, precisaríamos cadastrar no sistema da empresa de Cobrança todos os clientes que encontram-se em situação de inadimplência que já estão cadastrados no sistema da Administradora de Imóveis. Neste caso, a Administradora de imóveis deverá gerar um relatório com todos os clientes inadimplentes e enviá-los para a que a empresa de Cobrança cadastre-os manualmente em seu sistema. Esta é uma solução ruim, pois imagine se existir um alto número de registros, quanto tempo levaria para que se refizesse tal cadastro? Temos ainda a possibilidade de erros que podem ocorrer durante a digitação.

Uma solução para esta situação seria a transferência de dados diretamente entre os Bancos de Dados de cada sistema, utilizando recursos de um SGBD.

Em nosso exemplo vamos dizer que a Administradora de Imóveis possua um sistema desenvolvido em ASP e acesse um Banco de Dados SQL Server e a empresa de Cobrança tenha um sistema em Delphi acessando Interbase. Precisaríamos então transferir os dados relativos aos clientes inadimplentes do Banco de Dados SQL Server para o Banco de Dados Interbase.

Para uma demonstração prática desta aplicação, iremos criar uma tabela "Cliente" numa base de dados do SQL Server (figura 3) e uma tabela "Clientes" numa base de dados do Interbase (figura 4). Simplificamos a estrutura das tabelas para manter o foco no principal, que é a transferência de dados entre Bancos de Dados diferentes:

figura 3 – SQL Server – tabela Cliente

 

figura 4 – Interbase – tabela Clientes

 

 

Ao analisarmos as figuras devemos levar em consideração que o se campo status da figura 3 (SQL Server) tiver valor 1 (um) significará que o cliente está adimplente e se o valor for 0 (zero) o cliente estará inadimplente. Outra consideração importante é com relação ao endereço, note que a tabela da figura 3 existe um atributo chamado "endereco" para armazenar o nome do logradouro e complemento, um atributo "bairro", "cidade" e "estado" para armazenar os outros dados complementares ao endereço. Já na figura 4 temos apenas um atributo para o endereço, que deverá armazenar todos os campos que referenciam o endereço. Para resolver esta pequena incompatibilidade iremos utilizar de alguns recursos simples da Linguagem SQL.

Para efetuarmos a transferência de dados entre SGBD’s diferentes deveremos instalar um driver ODBC para o Interbase apontando para a base de dados do próprio Interbase, fazemos isto seguindo os seguintes passos:

  1. Baixe o driver ODBC XTG (gratuito) para Interbase em http://www.fireman.com.br/s-arq.php;

    2. Instale o driver abrindo o ZIP e executando o install.exe.


    3. Abra o Painel de Controle - em Ferramentas Administrativas - Fontes de Dados ODBC;

    4. Clique no botão Adicionar, e selecione o driver XTG Systems InterBase6 ODBC Driver;

    5. Atribua um nome (por exemplo, ODBC_SQL_INTERBASE);

    6. Em Interbase Path, informe NOME_DO_SERVIDOR:c:\...\NOME_DA_BASE.gdb e clique OK.

    Observação:
    -Em SERVIDOR deve ser informado apenas o NOME do servidor (sem as duas barras);

- O drive C: ou D: dependerá de onde você instalou localmente o Interbase no seu servidor (utilize a a visão da console do servidor).


Com driver devidamente instalado, iremos executar os seguintes procedimentos no Enterprise Manager:

figura 5 – Enterprise Manager

figura 6 – Propriedades da Conexão – SQL Server

 

figura 6 – Propriedades da Conexão – Interbase

 

figura 7 – Source e Destination

 

figura 7 – Configuração da fonte

figura 7 – Configuração do Destination

 

figura 8 – Configuração do Transformations

 

Conclusão:

Neste artigo podemos verificar na prática mais uma forma de carregar dados entre bases de dados diferentes, no nosso exemplo prático transportamos informações do SQL Server para o Interbase, utilizando um driver ODBC para o Interbase e algumas propriedades do DTS (Data Transformation Service) do Enterprise Manager. Vale ressaltar que o DTS pode ser utilizado para diversas outras aplicações, como leitura de dados de planilhas e arquivos texto e geração de planilhas e de arquivos texto.

Um forte abraço a todos e até um próximo artigo.

 

 

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados