如何在一个procedure中把出错信息导入到一个文本文件中记录下来?

bluefishwu 2003-06-11 01:59:10
把其中的insert,update时可能的错误捕捉并用自定义的字符串记录下来,最后写到一个新的文件中,文件设为只读。使用FOPEN时目录和文件名不受限制吗?详细说明必要流程者有分。
...全文
29 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluefishwu 2003-06-12
  • 打赏
  • 举报
回复
up
xunx 2003-06-12
  • 打赏
  • 举报
回复
^_^
bzszp 2003-06-11
  • 打赏
  • 举报
回复
没有的话加上这个参数
可以写啊
在windows上显示,没做过这方面的,不清楚
bluefishwu 2003-06-11
  • 打赏
  • 举报
回复
1、init.ora中没有找到utl_file_dir参数(?!)
2、所创建文件是只读吗?
3、我希望在过程结束时把这个文件打开显示与窗口,如何做到?
bzszp 2003-06-11
  • 打赏
  • 举报
回复
参考:
先修改init.ora
例如:
utl_file_dir=/usr //路径为 oracle所在的盘:/usr
此过程将用户TEMP的P1过程的代码保存到ORACLE安装盘下/USR/TEXT.TXT中
create or replace procedure TEST
is
file_handle utl_file.file_type;
STOR_TEXT VARCHAR2(4000);
N NUMBER;
I NUMBER;
begin
I:=1;
SELECT MAX(LINE) INTO N FROM ALL_SOURCE WHERE OWNER='TEMP' AND NAME='P1';
file_handle:=utl_file.fopen('/usr','test.txt','a');
WHILE I<=N LOOP
SELECT TEXT INTO STOR_TEXT FROM ALL_SOURCE WHERE OWNER='TEMP' AND NAME='P1' AND LINE= I;
I:=I+1;
utl_file.put_line(file_handle,stor_text);
END LOOP;
utl_file.fclose(file_handle);
commit;
end TEST;
/

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧