Как подключиться к другому БД с помощью хранимых процедур?

dba.stackexchange https://dba.stackexchange.com/questions/185

Вопрос

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

Пса

Я использую Oracle, и обе базы данных находятся на одном и том же сервере.

Это было полезно?

Решение

Вы хотите использовать ссылку на базу данных (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, указанную для этой информации.

Другие советы

Да, вы можете прочитать данные о любой базе данных с помощью DG4ODBC. Любая база данных по сравнению с ODBC может быть подключена к базе данных Oracle, предоставляющему, вы можете найти работающий драйвер ODBC для платформы Out. .odbc.ini и $ oracle_home/hs/admin - ваши местоположения конфигурации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top