Come installare i driver Oracle OLE da utilizzare in SQL Server 2008 R2 x64


10

Come da procedura standard che utilizziamo da anni per le versioni precedenti di Oracle e SQL Server, ho installato l'ultimo pacchetto ODAC di Oracle, che include il driver Oracle OLE sui nostri nuovi nodi x64 di SQL Server 2008 R2. Ho riavviato il sistema raccomandato, ma OraOLEDB.Oracle non viene visualizzato nel nodo Server collegati \ Provider in SSMS. L'unica differenza tra questa installazione e le precedenti installazioni di SQL Server è che ora sto usando SQL Server x64 (su Windows 2008 R2). Questo dovrebbe fare la differenza?

Nota che sono in grado di connettermi direttamente ai server Oracle usando SQL * Plus dai nodi SQL Server. L'unica cosa che mi manca è quel provider. Qualcuno sa cosa mi sto perdendo? Esistono molti post sul Web, ma sembra che ci sia molta confusione e collegamenti obsoleti alla pagina di download di Oracle.

L'unica cosa che devo essere in grado di fare è creare un server collegato a Oracle ed eseguire query selezionate su di esso. Non ho bisogno di fare nulla tramite Visual Studio.


Ho una risposta più semplice su come eseguire questa operazione, ma coinvolge i driver Oracle 12 e SQL Server 2012. Devo aggiungere una risposta a questa domanda o porre una nuova domanda?
Baodad,

Risposte:


15

Dopo ore di ricerca, sono riuscito a mettere insieme alcune istruzioni di lavoro per Oracle 11g R2. A quanto pare, probabilmente avrai bisogno sia dei client a 32 che a 64 bit installati per far funzionare le cose in BIDS / Visual Studio / SSMS. Potrei aver installato più componenti Oracle del necessario, ma ecco cosa ha funzionato per me:

  1. Scarica client a 32 e 64 bit da http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html (fai clic su "vedi tutto" per vedere versioni diverse, altrimenti scaricherai il programma Oracle completo. I download dovrebbero essere di circa 600 megapixel ciascuno)
  2. Eseguire l'installazione a 32 bit su SQL Server. Seleziona "Personalizzato"
  3. Per Oracle Base, immettere "C: \ Oracle"
  4. Per "Posizione software", passare a C: \ Oracle \ product \ 11.2.0 \ client_ 32
  5. Scegli i seguenti componenti:
  6. SQL * Plus
  7. Oracle Call Interface (OCI)
  8. Oracle Net
  9. Servizi Oracle per Microsoft Transaction Server
  10. Oracle Administration Assistant per Windows
  11. Provider Oracle per OLE DB
  12. Oracle Data Provider per .NET
  13. Provider Oracle per ASP.NET
  14. Ripetere i passaggi precedenti con il programma di installazione a 64 bit. TUTTAVIA, modificare "Posizione software" in C: \ Oracle \ product \ 11.2.0 \ client_ 64
  15. Ho avuto un errore di memoria a questo punto, ma ho scelto di ignorarlo poiché so che c'è abbastanza
  16. Ignora l'errore "OracleMTSRecoveryService esiste già"

Ora che l'installazione è terminata, devi solo modificare alcune cose.

  1. Apporta le modifiche al Registro di sistema in HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI
  2. OracleOciLib dovrebbe essere oci.dll
  3. OracleSqlLib dovrebbe essere orasql11.dll
  4. OracleXaLib dovrebbe essere oraclient11.dll
  5. Apporta le stesse modifiche al Registro di sistema in HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI
  6. Crea o copia un nuovo tnsnames.ora in C: \ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin
  7. Crea o copia un nuovo tnsnames.ora in C: \ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin
  8. Reboot!
  9. Ora dovresti vedere OraOLEDB.Oracle come provider in Server collegati / Provider in SSMS
  10. Fare clic con il tasto destro del mouse su questo provider, quindi su Proprietà, quindi selezionare la casella "Consenti elaborazione"
  11. Ora puoi creare un server collegato tramite la GUI o T-SQL

In bocca al lupo!


1
Ho avuto lo stesso problema (SQL Server 2008 R2 64x che si collega a un Oracle 8) e l'ho risolto seguendo le tue istruzioni. Fortunatamente, dovevo solo installare il client a 64 bit. Grazie!
santiiiii,

L'ho installato senza SQL * Plus e Administration Assistant e senza le modifiche al registro su una macchina x64 e ha funzionato.
Gabriel Guimarães,

Ciao @SomeGuy posso usare le tue istruzioni anche con 12c grazie
Willie Cheng

Aumenta la dimensione del download: 3,1 GB per l'ultimo client Oracle per Windows x64 versione 19C.
Mike,

0

Sì, l'architettura del sistema fa molta differenza.

Devi installare il software client Oracle x64 per Windows.


Non riesco a trovare componenti x64 per 11g sul sito Oracle senza scaricare l'intero client x64 da 2 GB. L'ODAC sembra salire solo a 10 g. Qualcun altro lo sta notando? Proverò il client completo per ora, ma non ho mai dovuto farlo prima. Forse rilasceranno ODAC 11g per x64 in futuro.
SomeGuy

Il client è ~ 615 MB, il pacchetto da 2 GB è il prodotto completo; vedi qui: oracle.com/technetwork/database/enterprise-edition/downloads/… .
Massimo

2
@SomeGuy in realtà c'è ODAC per 11g, non puoi trovarlo perché il sito web di Oracle è un disastro.
Gabriel Guimarães,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.