Come connettersi a un altro db usando le stored procedure?


11

Devo ottenere alcuni dati da un db esterno ed effettuare alcuni calcoli con esso in un altro db, è possibile connettersi a un db esterno da una procedura memorizzata? Grazie ragazzi.

PS.

Sto usando Oracle ed entrambi i database sono nello stesso server.

Risposte:


10

Si desidera utilizzare un collegamento al database (DBLink).

http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_5005.htm

http://psoug.org/reference/db_link.html

-- create tnsnames entry for conn_link
conn_link =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = perrito2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orabase)
    )
  )


CREATE DATABASE LINK conn_user
USING 'conn_link';

SELECT table_name, tablespace_name FROM user_tables@conn_user; 

@conn_user alla fine di una procedura o del nome di una tabella dirà al motore pl / sql di interrogare il collegamento db specificato per quella informazione.


1
Incorporato in profondità nel collegamento PSOUG è un riferimento al suggerimento DRIVING_SITE - le prestazioni delle query tra DBLINK possono variare notevolmente - se SAPETE dove verrà eseguita la maggior parte dell'elaborazione dei dati, assicuratevi di impostare DRIVING_SITE sul database in cui i dati l'elaborazione sarà più efficiente.
ScottCher


0

sì, puoi, puoi leggere i dati da qualsiasi database usando dg4odbc. È possibile connettersi a qualsiasi database conforme odbc e al database Oracle, a condizione che sia possibile trovare un driver odbc funzionante per la piattaforma esterna. .odbc.ini e $ ORACLE_HOME / hs / admin sono le posizioni di configurazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.