在前端区分 Oracle mod_plsql 和 ORDS

Distinguish between Oracle mod_plsql and ORDS in frontend

我需要在我的前端区分哪种 Oracle 后端(mod_plsql 或 ords)是 运行,但似乎找不到可靠的方法来做到这一点。任何想法将不胜感激。

这是设计使然 "leak" 没有后端详细信息。需要自定义机制才能在前端知道这一点。

为此,

ORDS 确实将 http header 注入到 OWA CGI ENV 中。像这样的程序可以让某人写一个 proc 到 return a 1/0 或其他东西来知道 ords 或 not ords。

create or replace procedure whoami as
begin
if  owa_util.get_cgi_env( 'APEX_LISTENER_VERSION' ) is not null   then

    htp.prn('ords');
else
    htp.prn('not ords');
end if;
end;
/