Buenas! 🙂
Nos últimos meses estou envolvido em um curso oferecido pela Microsoft (curso 0800) sobre o MSSQL 2012.
Tem sido um aprendizado muitíssimo interessante. Legal ver as features que existem e alguns conceitos que são diferentes. Curti o AlwaysOn principalmente… o/
A parte final desse projeto constituí a criação e um ambiente com duas máquinas (VM’s), criação de uma database em cada, replicação e tal.
O professor nos disse que o que não víssemos no curso e fosse aplicado por conta, seria considerado um plus.
Pensando nisso, e como trabalho na área Oracle, imaginamos, meu colega Bruno e eu, o quão complicado seria implementar uma comunicação entre os bancos.
Cenário:
Uma tabela de pedidos no MSSQL. Quando o pedido é aprovado (PEDIDO_APROVADO=0 ou =1), a linha fosse transportada para uma tabela em um db Oracle, através de uma trigger after update, por exemplo! 🙂
Imagine que a empresa tenha uma aplicação de terceiros, que funciona em Oracle e precisa desses dados para informações internas, integração, BI, enfim…
Utilizei a figura do Linked Server, a qual irei demonstrar aqui! go! go! go!
Passo 1: Instalar o Oracle Client 11gR2 no host com MSSQL
32bit:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html
64bit:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html
* O client deve obedecer a versão do Windows onde está instalado o MSSQL (ex.: 32bit ou 64bit)
Passo 2: Instalar o Oracle Data Access Components (ODAC) no host com MSSQL
32bit:
http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
64bit:
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
Passo 3: Configurar o tnsnames.ora do client:
Ex.:
G:Oracle_installproduct11.2.0client_1networkadmin
Configurar o tnsnames conforme exemplo:
FABRIKAM = nome da minha empresa fictícia e nome que será utilizado para conexão;
HOST = ip do servidor linux com Oracle;
Passo 4: REBOOT! Do servidor com MSSQL! 😀
Passo 5: Alterar a configuração no OraOLEDB.Oracle
– Marcar a opção: “Allow inprocess”
Passo 6: Criação do Linked Server:
General
Linked Server: Nome a sua escolha. Será utilizado na consulta posteriormente
Provider: Oracle Provider for OLE DB
Product Name: Podemos colocar Oracle aqui! 🙂
Data Source: Deve refletir a entrada de TNS configurada anteriormente
Security
Selecione:
Be made using this security context
E forneça o user/pass oracle desejado.
Passo 7: Execute a consulta! 😀
Podemos ver na janela do prompt o select efetuado no sqlplus, no Oracle, e na atrás o MSSM efetuando a mesma consulta, também no Oracle.
Exemplos de sintaxe que podem ser utilizadas:
E como dizemos por aqui: deu pra bola! o/
Nos fones:
Mas que orgulho!!! O cara virou um monstro no SQL Server!!! 😀
Tudo nosso! 😀
Ae Gaúcho, bom dia!!
Isso me lembra uns testes feitos em 2007, continua ‘muito parecido’.
🙂
http://certificacaobd.com.br/2011/11/14/acessando_oracle_sql_server/
abraços
capin
Valeu Caipa! 🙂
Parabéns meu caro. Ganhamos mais um articulista de SQL.
Hahahahaha nem de longe Adeilson, mas estou curtindo demais estudar o MSSQL! 🙂
Ainda incomodarei muito no mail do grupo tirando dúvidas! rsrsrs
Abração! 🙂
Mandou muito bem! Livrou minha cara aqui na Nigéria!
Buenas Marcos! Que bom que foi útil. Continue nos acompanhando! Abraço. o/