![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
文章平均质量分 72
能量老8
程序老猿
展开
-
Oracle dbms_output vs utl_file 使用(三)
补充 utl_file写字符串去目标log文件的例子,设置buffer(缓冲区)长度是2001。主要是想证明一下utl_file 写文件是也受缓冲区长度的限制,每行的长度(缓冲区)最大32767。因为输出一个长度2000的字符串输出完成之后会再输出一个结束符,buffer设置成2001执行就成功了。上面的代码会运行成功,可以尝试注析上面37/39行在看看运行效果(buffer超长出错)。buffer长度2000,连续输出3行长767的字符串,运行成功。试了这几种情况不知道有用没用!原创 2023-02-06 20:38:47 · 181 阅读 · 0 评论 -
Oracle dbms_output vs utl_file 使用(二)
dbms_output 和 utl_file都有一行32767的长度限,但是utl_file还需要设置DIRECTORY和对应的目录权限这些通常是DBA才有权限做的事情,而dbms_output使用上更加简单。UTL_FILE有很多读写文件和创建删除文件的方法,因为我只是需要写log而且是一行一行写所以基本只用PUT_LINE()方法就够了。在我这种简单的使用场景我会选择使用dbms_output,但是如果是写report的场景会选择使用utl_file。UTL_FILE其它的文件操作方法请参考官方文档。原创 2023-02-03 01:39:30 · 137 阅读 · 0 评论 -
Oracle dbms_output vs utl_file 使用(一)
dbms_output buffer的默认长度是20000字符,可以使用dbms_output.enable(buffer size)来调整缓冲区的大小。最小2000,最大1,000,000,null表示不限制缓存区大小(旧版的Oracle可能不支持)。设置dbms_output.enable(NULL)后输出长度10000和32767的字符串成功,输出32768的字符串失败。设置dbms_output.enable(2000)后输出长度2000的字符串成功,输出长度2001的字符串失败。原创 2023-02-02 23:18:48 · 900 阅读 · 0 评论