我如何知道我的数据库中是不是安装了 APEX_JSON?
Posted
技术标签:
【中文标题】我如何知道我的数据库中是不是安装了 APEX_JSON?【英文标题】:How can I know if APEX_JSON is installed on my database?我如何知道我的数据库中是否安装了 APEX_JSON? 【发布时间】:2018-12-12 15:07:47 【问题描述】:我想在 Oracle 数据库中使用 json
数据,所以我尝试了 apex_json
包。
我尝试了来自 Oracle 的 this example:
DECLARE
s varchar2(32767) := ' "a": 1, "b": ["hello", "world"]';
BEGIN
apex_json.parse(s);
sys.dbms_output.put_line('a is '||apex_json.get_varchar2(p_path => 'a'));
END;
但我收到此错误:
必须声明 APEX_JSON.parse。
如何验证APEX_JSON
是否安装在我的db_server 上?
我需要做些什么来激活它吗?
【问题讨论】:
请检查this,您可能使用的是较旧的 APEX 版本。另外,您的 Oracle 数据库版本是什么?在 12c+ 中还有其他函数,例如 JSON_VALUE,用于解析/提取 JSON 元素 版本为 12.1.0.1.0 【参考方案1】:您应该考虑将 Oracle 升级到 12.1.0.2 或更高版本,其中JSON_VALUE
可用。
SET SERVEROUTPUT ON
DECLARE
s varchar2(32767) := ' "a": 1, "b": ["hello", "world"]';
l_a INT;
BEGIN
l_a := json_value(s,'$.a');
dbms_output.put_line('a is '||l_a);
END;
/
a is 1
PL/SQL procedure successfully completed.
【讨论】:
不幸的是,我不希望更新服务器。当您被旧版本卡住时,没有其他选择吗? 至少有一种选择;它被称为“DIY”(自己动手,手动)。【参考方案2】:以 sysdba 身份登录
执行下面的脚本:
select comp_name, version, status from dba_registry where comp_id='APEX';
它显示了所有细节。
【讨论】:
以上是关于我如何知道我的数据库中是不是安装了 APEX_JSON?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 corona sdk 检查我的应用程序之一是不是安装在 IOS 设备中