czwartek, kwietnia 24, 2008

DBLink do Oracle'a z MSSQL

Wchodzimy na stronę Wyroczni i szukamy do ściągnięcia 'Developer Tools fo VS.NET' i znajdujemy Oracle Data Access Components (ODAC). Konkretny produkt to 'Oracle 11g ODAC 11.1.0.6.21 with Oracle Developer Tools for Visual Studio'.



Konfigurujemy parametry dostępu do bazy w pliku tnsnames.ora (w razie potrzeby przerestartowujemy listener).



Na wszelki wypadek możemy sprawdzić, czy dostęp do Oracle'a działa z windowsowych Źródeł Danych ODBC.
Gdy nie instalowaliśmy na serwerze VisualStudia 2005 możemy
nie mieć bibliotek msv*71.dll w %WINDIR%\system32,
wtedy pojawia się błąd 126 - do zdobycia ze stacji roboczej.



Test connection - podajemy hasło dla użytkownika dostępowego.



Teraz w MSSQL Management Studio dodajemy zlinkowany serwer. Należy pamiętać, żeby wybrać providera od Oracle'a. Nie robimy mapowania użytkowników, podajemy dane dla jednego użytkownika dostępowego.



Możemy teraz wykonać jakieś zapytanie, żeby sprawdzić czy dblink działa.



Jeśli nie chcemy używać openquery/openrowset i nie potrzebujemy składni specyficznej
dla Oracle'a możemy użyć składni MSSQL (select * from DB..USER.TABLE),
ale musimy wtedy pamiętać o używaniu DUŻYCH LITER.

3 komentarze:

Anonimowy pisze...

Hej,

Pewnie zostanie to uznane za podlizywanie się, ale bardzo fajny blog :) Natrafiłem na niego przez przypadek w tamtym tygodniu i od tego czasu nadrobiłem zaległości z całego roku 2008 ;)

Na własnej skórze spróbowałem zrobić połączenie z MSSQL do Oracle i tu niestety klapa :/ Robię wszystko jak w tym wpisie, ale jednak po wywołaniu najprostszego zapytania do Oracle dostaję błąd ORA-01017. Wiem że dotyczy on nieprawidłowego hasła lub nazwy użytkownika, ale mam inne okno w konfiguracji ODBC i nigdzie nie mogę tam podać hasła :/
Poniżej zamieszczam 2 screeny. Na jednym jest pokazane zapytanie, błąd który zwraca oraz działający TNSPING do zdalnego serwera. Na drugim jest moje okno konfiguracji ODBC.
http://www.getdropbox.com/gallery/368042/1/MSQL_vs_Oracle?h=9eb865

Mam nadzieję że mogę liczyć na jakieś wskazówki :)

Pozdrawiam,
Dominik

jakub007 pisze...

A może trzeba zmienić domyślny ORACLE_HOME w rejestrze (HKLM/Software/ORACLE) i ustawić na zainstalowany ODAC?

Anonimowy pisze...

Tak też już próbowałem.. Wtedy mam błąd 126 o którym piszesz na blogu - z tym że ja mam zainstalowane Visual Studio 2005. Szukam teraz możliwości jak inaczej usunąć ten błąd.