Як підключитися до іншого db за допомогою збережених процедур?


11

Мені потрібно отримати деякі дані із зовнішнього db та зробити деякі обчислення з ним в іншому db, чи можливо підключитися до зовнішнього db із збереженої процедури? Дякую, хлопці.

PS.

Я використовую Oracle і обидві бази даних знаходяться на одному сервері.

Відповіді:


10

Ви хочете використовувати посилання на базу даних (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 наприкінці процедури або назви таблиці повідомить двигуну pl / sql запитувати посилання db, вказане для цієї інформації.


1
Вбудований глибоко у ваше посилання PSOUG - це посилання на підказку DRIVING_SITE - виконання запитів у DBLINK може сильно відрізнятися - якщо ви знаєте, де проводиться більша частина обробки даних, не забудьте встановити DRIVING_SITE у базу даних, де дані обробка буде найбільш ефективною.
ScottCher


0

так, ви можете, ви можете читати дані з будь-якої бази даних, використовуючи dg4odbc. Будь-яка сумісна база даних odbc може бути підключена до бази даних Oracle, якщо ви зможете знайти робочий драйвер odbc для платформи. .odbc.ini та $ ORACLE_HOME / hs / admin - це місця вашого конфігурації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.