So installieren Sie Oracle OLE-Treiber zur Verwendung in SQL Server 2008 R2 x64

10

Gemäß dem Standardverfahren, das wir seit Jahren für frühere Versionen von Oracle und SQL Server verwenden, habe ich das neueste ODAC-Paket von Oracle installiert, das den Oracle OLE-Treiber auf unseren neuen SQL Server 2008 R2 x64-Knoten enthält. Ich habe den empfohlenen Systemneustart durchgeführt, aber OraOLEDB.Oracle wird in SSMS nicht im Knoten Verknüpfte Server \ Anbieter angezeigt. Der einzige Unterschied zwischen dieser Installation und früheren SQL Server-Installationen besteht darin, dass ich jetzt SQL Server x64 (unter Windows 2008 R2) verwende. Sollte dies einen Unterschied machen?

Beachten Sie, dass ich mit SQL * Plus direkt von den SQL Server-Knoten aus eine Verbindung zu Oracle-Servern herstellen kann. Das einzige, was mir fehlt, ist dieser Anbieter. Weiß jemand was ich vermisse? Es gibt viele Beiträge im Internet, aber es scheint viel Verwirrung und veraltete Links zur Download-Seite von Oracle zu geben.

Das Einzige, was ich tun muss, ist, einen Verbindungsserver zu Oracle zu erstellen und ausgewählte Abfragen dagegen auszuführen. Ich muss nichts über Visual Studio tun.

Irgendein Typ
quelle
Ich habe eine einfachere Antwort darauf, aber es handelt sich um Oracle 12-Treiber und SQL Server 2012. Soll ich dieser Frage eine Antwort hinzufügen oder eine neue Frage stellen?
Baodad

Antworten:

15

Nach stundenlangen Recherchen gelang es mir, einige Arbeitsanweisungen für Oracle 11g R2 zusammenzustellen. Wie sich herausstellt, müssen wahrscheinlich sowohl der 32- als auch der 64-Bit-Client installiert sein, damit die Dinge in BIDS / Visual Studio / SSMS funktionieren. Ich habe möglicherweise mehr Oracle-Komponenten installiert, als ich brauchte, aber Folgendes hat bei mir funktioniert:

  1. Laden Sie 32- und 64-Bit-Clients von http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html herunter (klicken Sie auf "Alle anzeigen", um verschiedene Versionen anzuzeigen. Andernfalls laden Sie die herunter vollständiges Oracle-Programm. Ihre Downloads sollten jeweils etwa 600 Megabyte betragen.
  2. Führen Sie die 32-Bit-Installation auf dem SQL Server aus. Wählen Sie "Benutzerdefiniert"
  3. Geben Sie für Oracle Base "C: \ Oracle" ein.
  4. Wechseln Sie für "Software Location" zu C: \ Oracle \ product \ 11.2.0 \ client_ 32
  5. Wählen Sie folgende Komponenten:
  6. SQL * Plus
  7. Oracle Call Interface (OCI)
  8. Oracle Net
  9. Oracle Services für Microsoft Transaction Server
  10. Oracle Administration Assistant für Windows
  11. Oracle Provider für OLE DB
  12. Oracle Data Provider für .NET
  13. Oracle-Anbieter für ASP.NET
  14. Wiederholen Sie die obigen Schritte mit dem 64-Bit-Installationsprogramm. Ändern Sie jedoch den "Software-Speicherort" in C: \ Oracle \ product \ 11.2.0 \ client_ 64
  15. Zu diesem Zeitpunkt ist ein Speicherfehler aufgetreten, der jedoch ignoriert wurde, da ich weiß, dass genügend vorhanden ist
  16. Ignorieren Sie den Fehler "OracleMTSRecoveryService existiert bereits"

Nachdem die Installation abgeschlossen ist, müssen nur noch einige Dinge optimiert werden.

  1. Nehmen Sie Registrierungsänderungen an HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI vor
  2. OracleOciLib sollte oci.dll sein
  3. OracleSqlLib sollte orasql11.dll sein
  4. OracleXaLib sollte oraclient11.dll sein
  5. Nehmen Sie dieselben Registrierungsänderungen an HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI vor
  6. Erstellen oder kopieren Sie eine neue tnsnames.ora in C: \ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin
  7. Erstellen oder kopieren Sie eine neue tnsnames.ora in C: \ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin
  8. Neustart!
  9. Sie sollten OraOLEDB.Oracle jetzt als Anbieter unter Verbindungsserver \ Anbieter in SSMS sehen
  10. Klicken Sie mit der rechten Maustaste auf diesen Anbieter, dann auf Eigenschaften und aktivieren Sie das Kontrollkästchen "Inprozess zulassen".
  11. Sie können jetzt einen Verbindungsserver über die GUI oder T-SQL erstellen

Viel Glück!

Irgendein Typ
quelle
1
Ich hatte das gleiche Problem (SQL Server 2008 R2 64x, das eine Verbindung zu Oracle 8 herstellt) und löste es gemäß Ihren Anweisungen. Zum Glück musste ich nur den 64-Bit-Client installieren. Vielen Dank!
Santiiiii
Ich habe es ohne SQL * Plus und Administrationsassistenten und ohne die Registrierungsänderungen auf einem x64-Computer installiert und es hat funktioniert.
Gabriel Guimarães
Hallo @SomeGuy kann ich Ihre Anweisung mit 12c auch verwenden, danke
Willie Cheng
Erhöht die Downloadgröße - 3,1 GB für den neuesten Oracle Client für Windows x64 Version 19C.
Mike
0

Ja, die Systemarchitektur macht einen großen Unterschied.

Sie müssen die x64 Oracle-Client-Software für Windows installieren.

Massimo
quelle
Ich kann anscheinend keine x64-Komponenten für 11g auf der Oracle-Site finden, ohne den gesamten x64-Client mit 2 GB herunterzuladen. Der ODAC scheint nur bis zu 10 g zu gehen. Hat das noch jemand bemerkt? Ich werde vorerst den vollständigen Client ausprobieren, aber das musste ich noch nie tun. Vielleicht werden sie in Zukunft ODAC 11g für x64 veröffentlichen.
SomeGuy
Der Client ist ~ 615 MB groß, das 2-GB-Paket ist das vollständige Produkt. siehe hier: oracle.com/technetwork/database/enterprise-edition/downloads/… .
Massimo
2
@SomeGuy gibt es tatsächlich ODAC für 11g, Sie konnten es nicht finden, weil Orakel-Website ein Chaos ist.
Gabriel Guimarães