Tak, to możliwe. Połączenia w SQL Developer nie pomogą — będziesz musiał skonfigurować link do bazy danych z bazy danych Oracle do bazy danych SQL Server.
Przed utworzeniem łącza do bazy danych musisz skonfigurować bramę heterogeniczną, aby połączyć się z serwerem SQL.
Ogólne kroki obejmują:
-
Zainstaluj sterowniki Oracle ODBC na serwerze, który będzie miał dostęp do zdalnej bazy danych SQL Server za pomocą łącza do bazy danych.
-
Skonfiguruj połączenie ODBC w lokalnej bazie danych Oracle za pomocą Administratora źródeł danych ODBC systemu Windows
-
Przetestuj sterowniki ODBC, aby upewnić się, że połączenie jest nawiązywane z bazą danych SQL Server.
-
Skonfiguruj usługi Oracle Heterogenic, tworząc plik initodbc.ora w bazie danych Oracle.
-
Zmodyfikuj plik
Listener.ora
plik.SID_NAME is the DSN for the remote database. ORACLE_HOME is the actual Oracle home file path. PROGRAM tells Oracle to use heterogeneous services. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME=ora_sid) -- Enter the DSN on this line (ORACLE_HOME = c:\oracle10gdb) -- Enter your Oracle home on this line (PROGRAM = hsodbc) ) )
-
Zmodyfikuj
Tnsnames.ora file
aby wskazać bramę(DESCRIPTION= (ADDRESS_LIST= (Address=(PROTOCOL=TCP) (HOST= -- (Server x) (PORT=1521))) -- Enter the port on which the server x Oracle installation -- is listening (CONNECT_DATA=(SID=Cas30c)) - Enter the DSN name (HS=OK) -- Enter this value. It tells Oracle to use hetergeneous services )
-
Załaduj ponownie listener do lokalnej bazy danych Oracle
-
Utwórz łącze do bazy danych w lokalnej instalacji Oracle, które uzyskuje dostęp do heterogenicznego połączenia, które z kolei łączy się z SQL Server.
Po utworzeniu łącza do bazy danych powinieneś być w stanie wstawić do bazy danych za pomocą prostego:
insert into <oracle_tablename>
select * from <sqlserver_table_name>@dblink_name
Dalsza lektura:
- Dokumentacja Oracle w sprawie łączności z heterogeniczną bramą
- Dokumentacja Oracle o tworzeniu linków do bazy danych
- Nawiązywanie połączenia z Oracle na SQL Server (jest to nieco stary, ale bardzo dobry, ilustrowany artykuł!)