Cómo instalar controladores Oracle OLE para usar en SQL Server 2008 R2 x64


10

Según el procedimiento estándar que hemos estado utilizando durante años para versiones anteriores de Oracle y SQL Server, he instalado el último paquete ODAC de Oracle, que incluye el controlador Oracle OLE en nuestros nuevos nodos SQL Server 2008 R2 x64. He realizado el reinicio del sistema recomendado, pero OraOLEDB.Oracle no se muestra en el nodo Servidores / Proveedores vinculados en SSMS. La única diferencia entre esta instalación y las instalaciones anteriores de SQL Server es que ahora estoy usando SQL Server x64 (en Windows 2008 R2). ¿Debería esto hacer alguna diferencia?

Tenga en cuenta que puedo conectarme a servidores Oracle utilizando SQL * Plus desde los nodos de SQL Server directamente. Lo único que me falta es ese proveedor. Alguien sabe lo que me estoy perdiendo? Hay muchas publicaciones en la web, pero parece haber mucha confusión y enlaces obsoletos a la página de descarga de Oracle.

Lo ÚNICO que necesito hacer es crear un servidor vinculado a Oracle y ejecutar consultas de selección contra él. No necesito hacer nada a través de Visual Studio.


Tengo una respuesta más simple sobre cómo hacer esto, pero involucra los controladores Oracle 12 y SQL Server 2012. ¿Debo agregar una respuesta a esta pregunta o hacer una nueva?
Baodad

Respuestas:


15

Después de horas de investigación, logré reunir algunas instrucciones de trabajo para Oracle 11g R2. Como resultado, es probable que necesite los clientes de 32 y 64 bits instalados para que todo funcione en BIDS / Visual Studio / SSMS. Es posible que haya instalado más componentes de Oracle de los que necesitaba, pero esto es lo que funcionó para mí:

  1. Descargue clientes de 32 y 64 bits de http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html (haga clic en "ver todos" para ver diferentes versiones, de lo contrario, descargará el programa completo de Oracle. Sus descargas deben ser de aproximadamente 600 meg cada una)
  2. Ejecute la instalación de 32 bits en el servidor SQL. Seleccione "Personalizado"
  3. Para Oracle Base, ingrese "C: \ Oracle"
  4. Para "Ubicación del software", cambie a C: \ Oracle \ product \ 11.2.0 \ client_ 32
  5. Elija los siguientes componentes:
  6. SQL * Plus
  7. Interfaz de llamada de Oracle (OCI)
  8. Oracle Net
  9. Servicios de Oracle para Microsoft Transaction Server
  10. Asistente de administración de Oracle para Windows
  11. Proveedor de Oracle para OLE DB
  12. Proveedor de datos de Oracle para .NET
  13. Proveedores de Oracle para ASP.NET
  14. Repita los pasos anteriores con el instalador de 64 bits. SIN EMBARGO, cambie la "Ubicación del software" a C: \ Oracle \ product \ 11.2.0 \ client_ 64
  15. Recibí un error de memoria en este punto, pero decidí ignorarlo porque sé que hay suficiente
  16. Ignore el error "OracleMTSRecoveryService ya existe"

Ahora que la instalación ha finalizado, solo necesita modificar algunas cosas.

  1. Realice cambios de registro en HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI
  2. OracleOciLib debería ser oci.dll
  3. OracleSqlLib debería ser orasql11.dll
  4. OracleXaLib debería ser oraclient11.dll
  5. Realice los mismos cambios en el registro HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI
  6. Cree o copie un nuevo tnsnames.ora en C: \ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin
  7. Cree o copie un nuevo tnsnames.ora en C: \ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin
  8. ¡Reiniciar!
  9. Ahora debería ver OraOLEDB.Oracle como proveedor en Servidores vinculados \ Proveedores en SSMS
  10. Haga clic derecho en este proveedor, luego en Propiedades, luego marque la casilla "Permitir proceso"
  11. Ahora puede crear un servidor vinculado a través de la GUI o T-SQL

¡Buena suerte!


1
Tuve el mismo problema (Sql Server 2008 R2 64x conectando a un Oracle 8), y lo resolví siguiendo sus instrucciones. Afortunadamente, solo tuve que instalar el cliente de 64 bits. ¡Gracias!
santiiiii

Lo instalé sin el SQL * Plus y el Asistente de administración, y sin los cambios del registro en una máquina x64 y funcionó.
Gabriel Guimarães

Hola @SomeGuy, ¿puedo usar tus instrucciones con 12c también? Gracias
Willie Cheng

Tenga en cuenta el tamaño de descarga: 3.1GB para el último Cliente Oracle para Windows x64 versión 19C.
Mike

0

Sí, la arquitectura del sistema hace mucha diferencia.

Debe instalar el software de cliente Oracle x64 para Windows.


Parece que no puedo encontrar componentes x64 para 11g en el sitio de Oracle sin descargar todo el cliente x64, que es de 2GB. El ODAC solo parece subir hasta 10 g. ¿Alguien más está notando esto? Probaré el cliente completo por ahora, pero nunca he tenido que hacer eso antes. Tal vez lanzarán ODAC 11g para x64 en el futuro.
SomeGuy

El cliente es ~ 615 MB, el paquete de 2 GB es el producto completo; ver aquí: oracle.com/technetwork/database/enterprise-edition/downloads/… .
Massimo

2
@SomeGuy en realidad hay ODAC para 11g, no pudo encontrarlo porque el sitio web de Oracle es un desastre.
Gabriel Guimarães
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.