Выполнить запрос от MariaDB на Oracle - PullRequest
0 голосов
/ 26 августа 2018

У меня есть базы данных MariaDB и Oracle.Я установил ODBC Connect между ними, чтобы я мог получить доступ к Oracle из MariaDB.

Я могу сделать следующее из MariaDB:

CREATE TABLE oracopy ENGINE=connect TABLE_TYPE=ODBC tabname='testtab' CONNECTION='DSN=ORCL';

Это создает таблицу локально.

Однако я действительно хочу выполнить запрос на удаленном Oracle и вернуть результаты в сеанс MariaDB.

Запрос будет специфичным для Oracle, т. Е. Может содержать функции ORACLE, такие как DECODE.Также запрос может включать в себя вызов функции PLSQL, который снова нужно будет запускать в Oracle.Например:

SELECT t.id, DECODE( t.typ,'HH', 'Val 1', 'Val 2' ) tt,
       my_package.fn_test ( t.dob ) dob
FROM testtab t;

Имеет ли MariaDB «выполнить этот запрос в удаленной базе данных XXX».

1 Ответ

0 голосов
/ 26 августа 2018

Рассмотрите возможность использования аргумента определения источника, SRCDEF , как показано в документах .

CREATE TABLE oracopy ENGINE=connect TABLE_TYPE=ODBC CONNECTION="DSN=ORCL"
SRCDEF="SELECT t.id, DECODE( t.typ,'HH', 'Val 1', 'Val 2' ) tt,
               my_package.fn_test ( t.dob ) dob
        FROM testtab t;"
...