sql >> Database >  >> RDS >> Sqlserver

Query's uitvoeren op twee databases met Oracle SQL Developer

Ja, dat is mogelijk. Verbindingen in SQL Developer zullen u niet helpen - u moet een databaselink van uw Oracle-database naar de SQL Server-database.

Voordat u een databasekoppeling maakt, moet u een heterogene gateway instellen om verbinding te maken met de SQL Server.

Algemene stappen zijn onder meer:​​

  • Installeer Oracle ODBC-stuurprogramma's op de server die toegang zal krijgen tot de externe SQL Server-database via de databaselink.

  • Stel de ODBC-verbinding in op de lokale Oracle-database met behulp van de Windows ODBC-gegevensbronbeheerder

  • Test de ODBC-stuurprogramma's om er zeker van te zijn dat er verbinding wordt gemaakt met de SQL Server-database.

  • Configureer de Oracle heterogene services door een initodbc.ora-bestand te maken in de Oracle-database.

  • Wijzig de Listener.ora bestand.

        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) ) )
    
  • Wijzig het Tnsnames.ora file om naar de gateway te wijzen

        (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
        )
    
  • Laad de luisteraar opnieuw in de lokale Oracle-database

  • Maak een databasekoppeling op de lokale Oracle-installatie die toegang heeft tot de heterogene verbinding, die op zijn beurt verbinding maakt met SQL Server.

Zodra de databasekoppeling is gemaakt, zou u deze in de database moeten kunnen invoegen met een simpele:

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

Verder lezen:



  1. .MySQLNonTransientConnectionException:kon geen verbinding maken met databaseserver

  2. Gegevens tweemaal opgeslagen in MySQL-database. Weet je niet wat ik fout doe?

  3. Oracle PL/SQL:hoe de stacktracering, pakketnaam en procedurenaam te verkrijgen?

  4. SQL Server-query om het aantal werkdagen tussen 2 datums te krijgen, exclusief feestdagen