create or replace directory FILEPATH as 'E:\\EP.WMS\\EP.WebUI\\cache';grant read on directory FILEPATH to public;//触发器
CREATE OR REPLACE TRIGGER EP_SYS_Module_TG
AFTER
INSERT OR UPDATE OR DELETE ON EP_SYS_MODULE 
DECLARE
file_handle utl_file.file_type;
BEGIN
--打开文件
file_handle := utl_file.fopen('FILEPATH','TextFile.txt','w');
--将当前系统时间写入文件
IF utl_file.is_open(file_handle) THEN
 utl_file.put_line(file_handle,to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'));END IF;
--关闭文件
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; 错在哪啊

解决方案 »

  1.   

    file_handle := utl_file.fopen('TT','a.txt','w',1000);
      

  2.   

    亲测^_^
    grant execute on utl_file to username;
    grant read,write on directory filepath to username;
    CREATE OR REPLACE TRIGGER tri_filepath
    AFTER INSERT OR UPDATE OR DELETE ON t_filepath
    DECLARE
    file_handle utl_file.file_type;
    BEGIN
      --打开文件
      file_handle := utl_file.fopen('FILEPATH','FILE.txt','w');
      --将当前系统时间写入文件
      IF utl_file.is_open(file_handle) THEN
         utl_file.put_line(file_handle,to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss'));
      END IF;
      --关闭文件
      utl_file.fclose(file_handle);
    EXCEPTION WHEN
       OTHERS THEN  
         null;
    END;