Jak zainstalować sterowniki Oracle OLE do użytku w SQL Server 2008 R2 x64

10

Zgodnie ze standardową procedurą, której używamy od lat w poprzednich wersjach zarówno Oracle, jak i SQL Server, zainstalowałem najnowszy pakiet Oracle ODAC, który zawiera sterownik Oracle OLE na naszych nowych węzłach SQL Server 2008 R2 x64. Zrobiłem zalecany restart systemu, ale OraOLEDB.Oracle nie wyświetla się w węźle Linked Servers \ Providers w SSMS. Jedyną różnicą między tą instalacją a poprzednimi instalacjami programu SQL Server jest to, że teraz używam programu SQL Server x64 (w systemie Windows 2008 R2). Czy to powinno coś zmienić?

Pamiętaj, że jestem w stanie połączyć się z serwerami Oracle przy użyciu SQL * Plus bezpośrednio z węzłów SQL Server. Brakuje mi tylko Dostawcy. Czy ktoś wie, czego mi brakuje? W Internecie jest wiele postów, ale wydaje się, że istnieje wiele zamieszania i nieaktualne linki do strony pobierania Oracle.

Jedyne, co muszę zrobić, to utworzyć serwer połączony z Oracle i uruchomić na nim wybrane zapytania. Nie muszę nic robić przez Visual Studio.

Jakiś facet
źródło
Mam prostszą odpowiedź, jak to zrobić, ale dotyczy to sterowników Oracle 12 i SQL Server 2012. Czy powinienem dodać odpowiedź na to pytanie lub zadać nowe pytanie?
Baodad

Odpowiedzi:

15

Po wielu godzinach badań udało mi się zebrać kilka instrukcji roboczych dla Oracle 11g R2. Jak się okazuje, prawdopodobnie będziesz musiał zainstalować zarówno 32-, jak i 64-bitowego klienta, aby działał w BIDS / Visual Studio / SSMS. Mogłem zainstalować więcej komponentów Oracle, niż potrzebowałem, ale oto, co zadziałało dla mnie:

  1. Pobierz 32- i 64-bitowych klientów z http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html (kliknij „zobacz wszystko”, aby zobaczyć różne wersje, w przeciwnym razie pobierzesz kompletny program Oracle. Twoje pliki do pobrania powinny wynosić około 600 meg)
  2. Uruchom instalację 32-bitową na serwerze SQL. Wybierz „Niestandardowy”
  3. W polu Oracle Base wpisz „C: \ Oracle”
  4. W polu „Lokalizacja oprogramowania” zmień na C: \ Oracle \ product \ 11.2.0 \ client_ 32
  5. Wybierz następujące elementy:
  6. SQL * Plus
  7. Oracle Call Interface (OCI)
  8. Oracle Net
  9. Usługi Oracle dla Microsoft Transaction Server
  10. Oracle Administration Assistant dla Windows
  11. Dostawca Oracle dla OLE DB
  12. Oracle Data Provider dla platformy .NET
  13. Dostawcy Oracle dla ASP.NET
  14. Powtórz powyższe kroki w 64-bitowym instalatorze. JEDNAK zmień „Lokalizacja oprogramowania” na C: \ Oracle \ product \ 11.2.0 \ client_ 64
  15. W tym momencie dostałem błąd pamięci, ale postanowiłem go zignorować, ponieważ wiem, że jest go wystarczająco dużo
  16. Zignoruj ​​błąd „OracleMTSRecoveryService już istnieje”

Po zakończeniu instalacji wystarczy zmodyfikować kilka rzeczy.

  1. Wprowadź zmiany rejestru do HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI
  2. OracleOciLib powinien być oci.dll
  3. OracleSqlLib powinien być orasql11.dll
  4. OracleXaLib powinien być oraclient11.dll
  5. Wprowadź te same zmiany rejestru w HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI
  6. Utwórz lub skopiuj nowy plik tnsnames.ora w C: \ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin
  7. Utwórz lub skopiuj nowy plik tnsnames.ora w C: \ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin
  8. Restart!
  9. Powinieneś teraz zobaczyć OraOLEDB.Oracle jako dostawcę w obszarze Linked Servers \ Providers in SSMS
  10. Kliknij tego dostawcę prawym przyciskiem myszy, a następnie Właściwości, a następnie zaznacz pole „Zezwalaj na przetwarzanie”
  11. Możesz teraz utworzyć połączony serwer za pomocą GUI lub T-SQL

Powodzenia!

Jakiś facet
źródło
1
Miałem ten sam problem (Sql Server 2008 R2 64x łączy się z Oracle 8) i rozwiązałem go zgodnie z instrukcjami. Na szczęście po prostu musiałem zainstalować 64-bitowego klienta. Dzięki!
santiiiii
Zainstalowałem go bez SQL * Plus i Asystenta administracyjnego oraz bez zmian rejestru na komputerze x64 i działało.
Gabriel Guimarães
Cześć @SomeGuy, czy mogę również korzystać z instrukcji za 12c, dzięki
Willie Cheng
Uwaga na temat wielkości pobierania - 3,1 GB dla najnowszego klienta Oracle dla systemu Windows x64 w wersji 19C.
Mike
0

Tak, architektura systemu robi dużą różnicę.

Musisz zainstalować oprogramowanie klienckie Oracle x64 dla systemu Windows.

Massimo
źródło
Nie mogę znaleźć składników x64 dla 11g na stronie Oracle bez pobrania całego klienta x64, który ma 2 GB. Wydaje się, że ODAC wzrasta tylko do 10 g. Czy ktoś to zauważył? Wypróbuję teraz pełnego klienta, ale nigdy wcześniej nie musiałem tego robić. Być może w przyszłości wydadzą ODAC 11g dla x64.
SomeGuy
Klient ma ~ 615 MB, pakiet 2 GB to pełny produkt; zobacz tutaj: oracle.com/technetwork/database/enterprise-edition/downloads/… .
Massimo,
2
@SomeGuy faktycznie jest ODAC dla 11g, nie można go znaleźć, ponieważ witryna oracle jest bałaganem.
Gabriel Guimarães