运行 来自 MariaDB on Oracle 的查询

Run query from MariaDB on Oracle

我有 MariaDB 和 Oracle 数据库。我已经在两者之间设置了 ODBC Connect,这样我就可以从 MariaDB 访问 Oracle。

我可以从 MariaDB 中执行以下操作:

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

这会在本地创建一个 table。

然而,我真正想做的是 运行 对远程 Oracle 的查询和 return MariaDB 会话的结果。

查询将是特定于 Oracle 的,即可能包含像 DECODE 这样的 ORACLE 函数。此外,该查询还可以包含一个 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 是否有 "run this query on XXX remote database".

考虑使用源定义参数 SRCDEF,如 docs.

所示
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;"