Как подключиться к другому БД с помощью хранимых процедур?
-
16-10-2019 - |
Вопрос
Мне нужно получить некоторые данные от внешнего БД и сделать несколько расчетов с ним в другом БД, возможно ли подключиться к внешнему БД из хранимой процедуры? Спасибо, парни.
Пса
Я использую 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 - ваши местоположения конфигурации.