将数据从Oracle数据库导出到CSV时出现ORA错误

时间:2013-03-15 21:48:47

标签: sql oracle export

我的同事在尝试将数据从Oracle数据库导出到CSV时遇到了一些问题。奇怪的是,如果他用NULL替换字段oc_cr_comments中的空格,那么导出就可以了。

TRIM (REPLACE(oc_cr_comments, CHR(32), NULL))

什么可能导致通过用NULL替换空格来修复导出问题?

错误输出为:

ERROR at line 1:
ORA-29285: file write error
ORA-06512: at "SYS.UTL_FILE", line 140
ORA-06512: at "SYS.UTL_FILE", line 785
ORA-06512: at "EFS.P_CRIMINAL_DISPOSITION", line 151
ORA-06512: at line 1

1 个答案:

答案 0 :(得分:1)

在对utl_file.fopen的调用中,指定的max_linesize是什么?删除空格之前的行多长时间?删除空格后该行有多长时间?

我的猜测是,当您打开文件时,在删除空格之前指定的最大行大小小于实际行大小。如果删除空格会导致线条大小现在小于最大线条大小,这可以解释为什么它在您进行替换后可以正常工作。