Fala pessoal tudo certo?
Hoje vou postar sobre como configurar um linked server do SQL Server para o Oracle, para isso precisamos fazer o download do client do Oracle (clique para download) para fazer a instalação e configuração no servidor.
Feito o download basta fazer a instalação do client do Oracle e configurar o serviço de rede.
Para realizar a configuração do TNSNames, vamos seguir o seguinte passo-a-passo:
1) Abrir o Assistente de configuração de Rede do Oracle, no menu Iniciar -> Todos os programas -> Ferramentas de Configuração e Migração -> Assistente de Configuração de Rede
2) Com o assistente aberto selecione a opção “Configuração do Nome do Serviço de Rede Local”
3) Selecionar “Adicionar”.
4) Coloque o Nome do Serviço do Oracle (SID).
5) Selecione o protocolo de rede que será utilizado para a comunicação por default utilizamos o “TCP”.
6) Coloque o nome do Servidor ou DNS apontado para o servidor e selecione qual a porta o Oracle está respondendo no servidor, a porta default do Oracle é a “1521”.
7) Realize um teste de conexão para você configurar o usuário e senha.
8) O primeiro teste vai falhar porque o usuário e senha default vão estar errado.
9) Agora você deverá alterar o Login e a senha para realizar o teste.
10) Se você tiver digitado o usuário e a senha corretamente o teste será bem sucedido.
Pronto finalizamos a configuração do client do Oracle agora nos resta fazer a configuração do linked server no servidor SQL Server, para realizar essa configuração você tem que ter permissão de Sysadmin.
1) Para criar um linked server via interface gráfica você tem que expandir a guia “Server Objects”, clicar com o botão direito na guia “Linked Server”, “New Linked Server”.
2) Você deverá colocar o nome do Linked Server, selecionar “Other data source”, selecionar o Provider no nosso caso vamos selecionar o Oracle.
3) Preencher as informações no data source colocando o nome do servidor ou DNS, a porta do serviço do Oracle,/ o nome do serviço.
“nomedoservidor:1521/nomeservico”
4) Na guia security selecionar a opção “Be made using this security context”, colocar o nome do usuário e senha para conexão com o Oracle.
Para fazer a configuração via T-SQL segue o script.
USE [master] GO /****** Object: LinkedServer [NomeLinkedserver] Script Date: 11/06/2015 00:38:09 ******/ EXEC master.dbo.sp_addlinkedserver @server = N'NomeLinkedserver', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'nomeservidor:1521/ServicoOracle' /* For security reasons the linked server remote logins password is changed with ######## */ EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'NomeLinkedserver',@useself=N'False',@locallogin=NULL,@rmtuser=N'NomeUsuario',@rmtpassword='Senha' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'collation compatible', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'data access', @optvalue=N'true' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'dist', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'pub', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'rpc', @optvalue=N'true' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'rpc out', @optvalue=N'true' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'sub', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'connect timeout', @optvalue=N'0' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'collation name', @optvalue=NULL GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'lazy schema validation', @optvalue=N'false' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'query timeout', @optvalue=N'0' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'use remote collation', @optvalue=N'true' GO EXEC master.dbo.sp_serveroption @server=N'NomeLinkedserver', @optname=N'remote proc transaction promotion', @optvalue=N'true' GO
Pronto o nosso linked server está configurado.
Espero ter ajudado e até a próxima.