[SSIS] Integração SQL Server e Oracle

Fala Galera,

Sei que estou sumido. As coisas tem estado um tanto quanto caóticas. Muitos projetos simultâneos e tecnologias novas para aprender; Eu destacaria Websphere MQ, AIX e Oracle Forms.

Mas hoje, aproveitando a madrugada do feriado do dia do trabalho, vou fazer post simples e objetivo sobre como fazer integração entre uma base de dados Oracle 11g (rodando em um red hat) e um SQL Server 2012, através do integration services. O assunto está dividido em duas partes;

  1. Preparando o ambiente [obtendo e instalando o driver Oracle ODBC e configurando o tnsnames.ora]
  2. Criando um pacote para transferência de dados entre as bases.

obs: Eu fiz o mesmo procedimento como o SQL 2008, a diferença é que para o 2008 só conseguimos usar um driver ODBC e para o 2012 conseguimos usar o OLEDB ou ODBC 🙂

Imagem

 

Vamos lá..

Preparando o ambiente

Primeira coisa: Precisamos fazer o download do provider ODBC 32bits da Oracle.

http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip

 

  • Descompactar o Client do Oracle Driver ODBC 32 bits
  • Execute o C:\comp\win32_11gR2_client\client\setup.exe

Selecione a instalação como administrador e vá em Next

Imagem

  • Reinicie o servidor
  • Configure o tnsnames.ora localizado em: [UNIDADE INSTALAÇÂO DO DRIVER ]:\app\Administrator\product\11.2.0\client_1\network\admin
    O tnsnames é um arquivo de configuração, onde todos os dados de acesso do seu banco deverão ser armazenados./
    mais informações podem ser encontradas em: http://docs.oracle.com/cd/B28359_01/network.111/b28317/tnsnames.htm#NETRF007

Linux1=

  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = dev1ora.devlin.com)
    )
  )

 

Após configurarmos nosso tnsnames.ora, iremos utilizar o comando “tnsping” para que a conexão entre os dois hosts (SQL e ORACLE) seja validada.

Imagem

 

Criando seu pacote de integração

Pré–requisito: Criação de sinônimos das tabelas que farão parte da integração.

Faça o login na sua base de dados oracle, encontre a tabela que você deseja que faça parte da integração e crie um sinonimo para ela; caso contrário ela não será listada como uma entidade válida para fazer parte da task.

Imagem

Abra o Visual Studio

  • Crie um novo projeto do integration services.
  • Adicione uma “DATA FLOW TASK”. Clique 2x nela
  • Adicione uma fonte de dados (ADO NET SOURCE)
  • configure a conexão com seu banco SQL Server

Imagem

  • Adicione uma “OLE DB Destination”. Clique 2x
  • Clique em “new” para configurar a nova fonte de dados. Uma nova janela será aberta “configure OLE DB connection manager”. Clique em new.

Imagem

  • No topo da tela, no list box “provider”; selecione o Oracle provider for OLE DB e clique OK

Imagem

  • Preencha os dados de conexão, conforme no arquivo TNSNAMES.ORA. Depois clique em testar conexão.:

Imagem

  • Se tudo tiver configurado adequadamente, a seguinte mensagem será apresentada

Imagem

  • De OK nas próximas 2 janelas. Até que a seguinte janela seja apresentada. Ao clicar no list box “Name of the table or the view”, todas as tabelas do oracle serão apresentadas.(Lembrando que será necessário que exista um sinônimo da tabela.)

Imagem

  • Depois clique em Mapping e faça o apontamento de onde cada campo (fonte / destino) e clique em OK

Imagem

  • Ligue as duas tasks recém adicionadas (source > destination)
  1. Imagem
  • Altere o parâmetro Run64RunTime to false.
  1. Botao direito no nome do projeto (1)
  2. Vá em propriedades (2)
  3. Configuration Properties > Debugging > Debug Options > Run64BitRunTime e altere para “false” (3).

Imagem

  • Execute seu pacote.

Imagem

 

e é isso 🙂

 

[]’s

 

Anúncios

Sobre dhiegopiroto
Graduando em Sistemas de Informação, apaixonado por tecnologia, literatura e musica. Possui experiencia com desenvolvimento em T-SQL, XML, XSD e administração de bancos de dados SQL Server; Detém os titulos de MCP e MCTS SQL Server 2008.

3 Responses to [SSIS] Integração SQL Server e Oracle

  1. Reginaldo says:

    Dhiego, Muito bom o seu post. Obrigado.

    Você sabe dizer se isso funciona para um ambiente semelhante, mas sendo 64bits?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Alex Souza

Banco de dados, Business Intelligence, Big Data, Governança de TI ... /* Um eterno aprendiz... */

Blog - Thiago Carlos de Alencar

Aprendendo SQL Server !

SQL Authority with Pinal Dave

SQL Server Performance Tuning Expert

Vitor Fava

SELECT (CrazyIdeas*2), (InsaneIdeas*100), MyExperience FROM MyBigHead WHERE InsaneLevel > 1000

Think Think SQL

DBCC DumpMemory 'TECH','ALL'

Gustavo Maia Aguiar

Artigos, dicas e algumas reflexões sobre o SQL Server

Kimberly L. Tripp

DBCC DumpMemory 'TECH','ALL'

Thiago Zavaschi R2

www.zavaschi.com

Blog do Luti

DBCC DumpMemory 'TECH','ALL'

Luan.Moreno a.k.a [SQL.Soul]

Lead Database Consultant at Pythian

Blog do Leka

let's make things better

%d blogueiros gostam disto: