sql >> Databasteknik >  >> RDS >> Sqlserver

Fråga två databaser med Oracle SQL Developer

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:



  1. ORA-00984:kolumn inte tillåten här

  2. MySQL - Hur man väljer Minimum OCH Maximum i en (UNION) fråga

  3. Utcheckning av SSIS-version

  4. Använd tnsnames.ora i Oracle SQL Developer