UTL_FILE.PUT写入txt时超过32k报ORA-29285: 文件写入错误
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,将表中clob字段生成txt 文件,发现只要超过32k写入就报错。使用UTL_FILE.PUT的方式循环将buffer写入文件,但发现一旦某个字段超过32K,在刚好超过32k便报出以上ora06512
千家信息网最后更新 2025年11月11日UTL_FILE.PUT写入txt时超过32k报ORA-29285: 文件写入错误
将表中clob字段生成txt 文件,发现只要超过32k写入就报错。
使用UTL_FILE.PUT的方式循环将buffer写入文件,但发现一旦某个字段超过32K,在刚好超过32k便报出以上ora06512文件写入错误
v_out_filename_full := v_filedir_guid || v_out_fileext; v_file_handle := UTL_FILE.FOPEN(v_outdir, v_out_filename, 'w',32767); pos := 1; begin LOOP dbms_lob.read(v_clob_loc, amt, pos, buf); -- process contents of buf UTL_FILE.PUT(v_file_handle, buf); UTL_FILE.FFLUSH(file => v_file_handle); pos := pos + amt; END LOOP; EXCEPTION WHEN NO_DATA_FOUND then UTL_FILE.FCLOSE(v_file_handle); end;
于是尝试将写入的方式改成wb 字节模式,并用UTL_FILE.PUT_RAW的模式,就可以了:
v_out_filename_full := v_filedir_guid || v_out_fileext; v_file_handle := UTL_FILE.FOPEN(v_outdir, v_out_filename, 'wb',32767); <<<<<<<<<<<< pos := 1; begin LOOP dbms_lob.read(v_clob_loc, amt, pos, buf); -- process contents of buf UTL_FILE.PUT_RAW(v_file_handle, utl_raw.cast_to_raw(buf));<<<<<<<<<<<<<<< UTL_FILE.FFLUSH(file => v_file_handle); pos := pos + amt; END LOOP; EXCEPTION WHEN NO_DATA_FOUND then UTL_FILE.FCLOSE(v_file_handle); end;
文件
字段
方式
模式
错误
字节
尝试
循环
生成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
什么是王者服务器
应用程序未能定位目录的数据库
计算机网络安全的内容包括哪三个
上海商务进口软件服务器
四川服务器阵列卡云空间
洛阳软件开发专业
台州天台县便宜软件开发
论坛账号信息数据库设计
汕头app软件开发
数据库原理大题
数据库基本语句示例
最帅的服务器名字
山东正规软件开发价钱是多少
hp 服务器 安全启动
互联网软件开发的年龄
文本txt导入达梦数据库
管理web和ftp服务器
网络技术考研哪个大学好
第一广电网络技术有限公司
非人学园无法访问服务器是啥意思
数据库据
纯软件开发如何看懂原理图
asp.net技术怎么连数据库
还款软件开发定制
华为无法联系到服务器怎么回事
vas软件开发
朝阳网络安全工程师
软件开发那就是无业
网络安全硬件产品选择
软件开发 与 学历