问题:怎么样在Oracle中写操作系统文件,如写日志
解答:可以利用utl_file包,但是,在此之前,要注意设置好Utl_file_dir初始化参数
/**************************************************************************
parameter:textContext in varchar2 日志内容
desc: ·写日志,把内容记到服务器指定目录下必须配置Utl_file_dir初始化参数,并保证日志路径
与Utl_file_dir路径一致或者是其中一个
****************************************************************************/
CREATE OR REPLACE PROCEDURE sp_Write_log(text_context VARCHAR2)
IS
file_handle utl_file.file_type;
Write_content VARCHAR2(1024);
Write_file_name VARCHAR2(50);
begin
--open file
write_file_name := 'db_alert.log';
file_handle := utl_file.fopen('/u01/logs',write_file_name,'a');
write_content := to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss')||'||'||text_context;
--write file
IF utl_file.is_open(file_handle) THEN
utl_file.put_line(file_handle,write_content);
end IF;
--close file
utl_file.fclose(file_handle);
EXCEPTION
WHEN OTHERS THEN
begin
IF utl_file.is_open(file_handle) THEN
utl_file.fclose(file_handle);
end IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
end;
end sp_Write_log;
----------------------------------------------------------------
类似的问题,昨天好象有过, 在PUB里几乎有任何一个问题的答案, 有时间自己先search一下!!