SQLServer Geral 11 Jun 2015

Criando um linked server do SQL Server para o Oracle

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”

1

3) Selecionar “Adicionar”.

2

4) Coloque o Nome do ServiƧo do Oracle (SID).

3

5) Selecione o protocolo de rede que serĆ” utilizado para a comunicação por default utilizamos o “TCP”.

4

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”.

5

7) Realize um teste de conexão para você configurar o usuÔrio e senha.

6

8) O primeiro teste vai falhar porque o usuÔrio e senha default vão estar errado.

7

9) Agora vocĆŖ deverĆ” alterar o Login e a senha para realizar o teste.

8

10) Se você tiver digitado o usuÔrio e a senha corretamente o teste serÔ bem sucedido.

9

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”.

Untitled

2) VocĆŖ deverĆ” colocar o nome do Linked Server, selecionar “Other data source”, selecionar o Provider no nosso caso vamos selecionar o Oracle.

10

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”

11

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.

12

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.