首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在oracle表单11g中使用PL/JSON

在oracle表单11g中使用PL/JSON
EN

Stack Overflow用户
提问于 2015-08-12 16:22:02
回答 1查看 2.1K关注 0票数 0

我试图在Oracle11g表单中使用PL/JSON

当我直接在数据库上运行以下代码(摘自PL/JSON的ex1.sql示例文件)时,它工作得很好。

代码语言:javascript
复制
declare
  obj json;
begin
  obj := json('{"a": true }');

  obj.print;
  --more complex json:
  obj := json('
{
  "a": null,
  "b": 12.243,
  "c": 2e-3,
  "d": [true, false, "abdc", [1,2,3]],
  "e": [3, {"e2":3}],
  "f": {
    "f2":true
  }
}');
  obj.print;
  obj.print(false); --compact way
end;
/

返回

代码语言:javascript
复制
{
  "a" : true
}
{
  "a" : null,
  "b" : 12.243,
  "c" : 0.002,
  "d" : [true, false, "abdc", [1, 2, 3]],
  "e" : [3, {
    "e2" : 3
  }],
  "f" : {
    "f2" : true
  }
}
{"a":null,"b":12.243,"c":0.002,"d":[true,false,"abdc",[1,2,3]],"e":[3,{"e2":3}],"f":{"f2":true}}

现在,我想使用相同的逻辑,但直接以Oracle 11g形式使用下面的代码。

代码语言:javascript
复制
PROCEDURE Ex1_Test IS
  obj json;

begin
  obj := json('{"a": true }');

  :MyField1 := obj.to_char;
  --more complex json:
  obj := json('
{
  "a": null,
  "b": 12.243,
  "c": 2e-3,
  "d": [true, false, "abdc", [1,2,3]],
  "e": [3, {"e2":3}],
  "f": {
    "f2":true
  }
}');

  :MyField2 := obj.to_char;

  :MyField3 := obj.to_char(false); --compact way

end;

然后,我从第7行的ORA-00600 : internal error code (第7行:MyField1 := obj.to_char; )中获得通用内部错误。

我做错了什么?难道我想做的事是不可能的吗?

谢谢你的帮助!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-13 07:08:18

ORA-00600是甲骨文用于“未处理的副作用”(即bug)的代码。警报日志中应该有其他信息。标准的ORA-00600建议是联系Oracle支持。

如果你没有一个支持合同,你的选择是有限的。ORA-00600消息应该带有方括号中的一个或多个参数,如下所示

代码语言:javascript
复制
 ORA-00600: internal error code, arguments: [17069], [55573516], [], [], [], [], [], []  

这些参数对于识别特定原因非常有用(第一个数字通常表示Oracle错误号,记录在案或以其他方式表示)。你可以试着用谷歌搜索。

至于你的具体情况,恐怕我们只能推测。对象方法JSON.TO_CHAR()调用PL/SQL函数JSON_PRINTER。这可能就是问题所在。Forms PL/SQL与数据库PL/SQL共享语法,但它们是不同的引擎;您可能遇到了表单PL/SQL如何与具有依赖关系的SQL类型一起工作的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31970615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档