Ja, det är möjligt. Anslutningar i SQL Developer hjälper dig inte - du måste konfigurera en databaslänk från din Oracle-databas till SQL Server-databasen.
Innan du skapar en databaslänk måste du konfigurera en heterogen gateway för att ansluta till SQL Server.
Allmänna steg inkluderar:
-
Installera Oracle ODBC-drivrutiner på servern som kommer åt den fjärranslutna SQL Server-databasen med hjälp av databaslänken.
-
Ställ in ODBC-anslutningen på den lokala Oracle-databasen med Windows ODBC Data Source Administrator
-
Testa ODBC-drivrutinerna för att säkerställa att anslutning görs till SQL Server-databasen.
-
Konfigurera Oracle Heterogeneous-tjänsterna genom att skapa en initodbc.ora-fil i Oracle-databasen.
-
Ändra
Listener.ora
fil.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) ) )
-
Ändra filen
Tnsnames.ora file
för att peka på gatewayen(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 )
-
Ladda om lyssnaren på den lokala Oracle-databasen
-
Skapa en databaslänk på den lokala Oracle-installationen som får åtkomst till den heterogena anslutningen, som i sin tur ansluter till SQL Server.
När databaslänken har skapats bör du kunna infoga i databasen med ett enkelt:
insert into <oracle_tablename>
select * from <sqlserver_table_name>@dblink_name
Mer läsning:
- Oracle-dokumentation om heterogen gateway-anslutning
- Oracle-dokumentation om att skapa databaslänkar
- Göra en anslutning från Oracle till SQL Server (denna är lite gammal, men mycket bra, illustrerad artikel!)