Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Interroga due database con Oracle SQL Developer

Sì, è possibile. Le connessioni in SQL Developer non ti aiuteranno:dovrai configurare un collegamento al database dal database Oracle al database di SQL Server.

Prima di creare un collegamento al database, dovrai configurare un gateway eterogeneo per la connessione a SQL Server.

I passaggi generali includono:

  • Installa i driver Oracle ODBC sul server che accederà al database SQL Server remoto utilizzando il collegamento al database.

  • Configurare la connessione ODBC sul database Oracle locale utilizzando l'amministratore dell'origine dati ODBC di Windows

  • Testare i driver ODBC per assicurarsi che venga effettuata la connettività al database di SQL Server.

  • Configura i servizi Oracle Heterogeneous creando un file initodbc.ora all'interno del database Oracle.

  • Modifica il Listener.ora file.

        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) ) )
    
  • Modifica il Tnsnames.ora file per puntare al gateway

        (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
        )
    
  • Ricarica il listener sul database Oracle locale

  • Creare un collegamento al database sull'installazione Oracle locale che acceda alla connessione eterogenea, che a sua volta si connette a SQL Server.

Una volta creato il collegamento al database, dovresti essere in grado di inserirlo nel database utilizzando un semplice:

 insert into <oracle_tablename>
 select * from <sqlserver_table_name>@dblink_name

Ulteriori letture: