Anuncios

martes, 2 de octubre de 2012

Acceder a datos de Oracle desde SQL Server

--> Me preguntaron si desde SQL Server puedo hacer consultas a Oracle. La respuesta es que se puede acceder desde SQL Server y hacer consultas a cualquier base de datos como ser TeraData, Oracle, MySQL, Postgres, etc, etc, etc.

En esta ocasión les voy a explicar como conectarse a Oracle de manera totalmente visual.

Lo primero es buscar un conector. Si el Oracle está en un servidor Windows, el Microsoft provider for Oracle me funcionó perfectamente.

Sin embargo en el 99 % de mis casos el instalador Oracle estaba en un Servidor UNIX y era necesario bajarse el cliente de Oracle. En mi caso tenía que conectarme con un Oracle 11g, por lo que me puede bajar los conectores OLEDB de Oracle de esta dirección:

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html

Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (x64)
Download win64_11gR2_database_1of2.zip (1,213,501,989 bytes) (cksum - 3906682109)


win64_11gR2_database_2of2.zip (1,007,988,954 bytes) (cksum - 1232608515)


Instale todos los componentes del cliente que ustede necesite, en especial el Oracle OLEDB Provider.


Ahora abra el SQL Server Management Studio>Server Objects>Linked Servers. Debería ver al provider de Oracle (OraOLEDB.ora)



Ahora queda crear el Linked Server. Lo vamos a llamar LOracle

Tal vez lo único que requiere explicación es el Data source. Estoy asumiendo que usted sabe usar Oracle y ya sabe lo que es el TNSNames.ora (si no sabe, vaya a este link: TNSnames).



BD es el nombre de la conexión que usamos y tiene que coicidir ese nombre de Oracle con el del linked server. El nombre puede ser cualquier nombre, pero debe coincidir.


Finalmente hay que crear el login. En las propiedades del Linked Server, hay que ir a la sección de Security o seguridad y mappear al usuario de SQL Server con el usuario de Oracle. En este caso el remote user se llama oraAdmin.



Su Linked server está listo, en mi caso tengo una tabla llamada Tabla1, para hacer un select a la tabla del Linked Server denominado LOracle habría que hacer lo siguiente:



SELECT *FROM [LOracle]..[Marketing].[Tabla1]
GO
 


Tienes más dudas ?

Escríbenos.



People who read this post also read :