Sql 从Oracle导出大量数据
我必须将大量数据导出为JSON。因此,我构建了一个查询,通过使用Oracle特定的JSON函数来构建JSON数据。到目前为止,这似乎效果不错。之后,我尝试使用SQLPlus导出数据,并将结果假脱机到一个文件中。但似乎有两个问题:Sql 从Oracle导出大量数据,sql,oracle,export,Sql,Oracle,Export,我必须将大量数据导出为JSON。因此,我构建了一个查询,通过使用Oracle特定的JSON函数来构建JSON数据。到目前为止,这似乎效果不错。之后,我尝试使用SQLPlus导出数据,并将结果假脱机到一个文件中。但似乎有两个问题: 输出行在32000个字符后被截断。我试图通过指定不同的参数来更改此限制,但这似乎是一个硬限制。无限制的行长度是必要的,因为我不知道行可能会变成多长 在几千行之后,我得到以下错误: 这似乎是一些全局缓冲区的问题,而不是一个查询结果的问题。我用不同的数据做了一些测试,得出
- 输出行在32000个字符后被截断。我试图通过指定不同的参数来更改此限制,但这似乎是一个硬限制。无限制的行长度是必要的,因为我不知道行可能会变成多长
- 在几千行之后,我得到以下错误: 这似乎是一些全局缓冲区的问题,而不是一个查询结果的问题。我用不同的数据做了一些测试,得出了这个结论
utl\u文件
。但如果我没有误解这一点,我需要一个可以从DBMS本身访问的目录。而这个我没有
提前谢谢 您必须使用SQL*Plus吗?SQL Developer和SQLcl都有可能满足您的需要的功能?我认为这不符合我的需要,因为生成的JSON需要具有特定的格式(层次结构)。但也许SQLcl没有SQLPlus的限制,可以执行我的脚本。我试试看,SQLcl更糟糕。几百行之后它就停止工作了。顺便说一下,我的参数可能有问题:
setpagesize0;设置新页面0;设置行500--设置空间0;设置回声;设置反馈;抵销;出发;设置标记HTML关闭假脱机关闭;设置COLSEP';';打开阀芯;打开服务器输出;设置线宽32767;设定长100000000;设置长块大小100000000;设置术语设置关闭
ERROR:
ORA-06502: PL/SQL: numerischer oder Wertefehler: Zeichenfolgenpuffer zu klein
ORA-06512: in Zeile 1