Bagaimana menghubungkan ke db lain menggunakan prosedur tersimpan?

11

Saya perlu mendapatkan beberapa data dari db eksternal dan membuat beberapa perhitungan dengan itu di db lain, apakah mungkin untuk terhubung ke db eksternal dari prosedur tersimpan? Terima kasih kawan

PS.

Saya menggunakan Oracle dan kedua database berada di server yang sama.

eiefai
sumber

Jawaban:

10

Anda ingin menggunakan Tautan Basis Data (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 di akhir prosedur atau nama tabel akan memberi tahu mesin pl / sql untuk meminta tautan db yang ditentukan untuk info itu.

REW
sumber
1
Tertanam jauh di dalam tautan PSOUG Anda adalah referensi ke petunjuk DRIVING_SITE - kinerja kueri di seluruh DBLINK dapat sangat bervariasi - jika Anda TAHU di mana sebagian besar pemrosesan data akan dilakukan, pastikan untuk mengatur DRIVING_SITE ke basis data tempat data pemrosesan akan paling efisien.
ScottCher
0

ya, Anda bisa, Anda dapat membaca data dari database apa saja menggunakan dg4odbc. Basis data yang mendukung ODBC dapat terhubung ke dan basis data Oracle dengan menyediakan Anda dapat menemukan driver ODBC yang berfungsi untuk platform keluar. .odbc.ini dan $ ORACLE_HOME / hs / admin adalah lokasi konfigurasi Anda.

ik_zelf
sumber