Buscar este blog

jueves, 20 de febrero de 2014

Linked Server a ORACLE

Para realizar un Linked server desde el SQL Server 2008 R2 a Oracle 11g. debemos serguir los siguientes pasos:

1.- Instalar el cliente Oracle en el servidor SQL Server, buscar en la página de Oracle, como recomendación es mejor bajar la ultima version.

2.- Reiniciar el servidor SQL Server donde se instalo en cliente de Oracle
3.- Configurar el tns name con conexion string
Ej: tnsname con el conexión string de la base a Oracle donde vamos a crear el Linked Server

               PXT11G=
                     (DESCRIPTION=
                     (ADDRESS=
                     (PROTOCOL=TCP)
                     (HOST=100.12.44.0)
                     (PORT=1234)
                        )
                        (CONNECT_DATA=
                            (SERVER=dedicated)
                            (SERVICE_NAME=PXT11G)
                        )
                      )



4.- Crear usuario en la base de Oracle
5.- Crear el linked Server

/****** Object:  LinkedServer [PRUEBA]    Script Date: 10/01/2012 12:55:26 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'PRUEBA', @srvproduct=N'ORACLE', @provider=N'OraOLEDB.Oracle', @datasrc=N'PXT11G'
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'PRUEBA',@useself=N'False',@locallogin=NULL,@rmtuser=N'PASS',@rmtpassword='WORD'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'rpc', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'rpc out', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'PRUEBA', @optname=N'remote proc transaction promotion', @optvalue=N'true'

GO