Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle json_对象,内容大,导致ORA-40459_Json_Oracle - Fatal编程技术网

Oracle json_对象,内容大,导致ORA-40459

Oracle json_对象,内容大,导致ORA-40459,json,oracle,Json,Oracle,我正在尝试使用Oracle函数(如JSON_对象)从大型表中构建JSON。有多个嵌套级别,例如,我在json_对象中使用json_arrayagg。所以我很快就达到了返回数据类型的极限。默认数据类型是varchar2(4000)。当然,我可以通过指定RETURNING关键字将其扩展到varchar2(32767)甚至clob。但是clob仅受json_objectagg和json_arrayagg的支持,甚至扩展到32767似乎并不适用于所有情况。尽管我指定了varchar2(32767),但我

我正在尝试使用Oracle函数(如JSON_对象)从大型表中构建JSON。有多个嵌套级别,例如,我在json_对象中使用
json_arrayagg
。所以我很快就达到了返回数据类型的极限。默认数据类型是
varchar2(4000)
。当然,我可以通过指定RETURNING关键字将其扩展到
varchar2(32767)
甚至clob。但是clob仅受
json_objectagg
和json_arrayagg的支持,甚至扩展到32767似乎并不适用于所有情况。尽管我指定了
varchar2(32767)
,但我仍然得到了
ORA-40459

有没有办法扩大这一限制?这些函数在这样的限制下似乎不是很有用


或者是否有其他方法来执行此任务?我的问题是我必须导出大量数据。因此,无法在客户端中执行此任务。也许在PL/SQL中可以做到这一点,但我不确定性能如何。我必须使用像pljson这样的第三方库,这需要安装。

也许这有点太晚了。我也有同样的问题,我通过添加

JSON\u对象(

返回VARCHAR2(5000)作为JSON\u字符串

在json object语句的末尾,然后结束


您还可以添加一个返回的CLOB,以确保这可能没有帮助,但值得一读。可能使用pl/sql和多个变量将返回数据类型拆分为多个变量,然后将它们连接起来……我考虑过使用pl/sql,在一些子例程中工作,然后替换占位符。但在使用*agg函数的情况下,这似乎非常复杂,因为可能需要替换[n]个占位符。因此,剩下的唯一方法是使用字符串连接构建JSON?