为什么我的程序没问题,但就是生成不了文件呢????
是不是得提前开通点什么,譬如付给权限等。像这些:
sqlplus /nolog 
conn / as sysdba 
create spfile from pfile; 
shutdown immediate 
startup 
alter system set utl_file_dir = 'c:\' scope = spfile; 
alter system set utl_file_dir = '*' scope = spfile;
show parameter utl_file_dir;
set serveroutput on;

解决方案 »

  1.   

    程序一定没问题,类似这些:declare 
    v_dir  varchar2(32700);
    v_filename varchar2(32700);
    v_fp    utl_file.file_type;
    v_test   varchar2(16);
    begin
    v_test:='123456';
    v_dir:='c:\TEMP';
    v_filename:='test.txt';
    v_fp:=utl_file.fopen(v_dir,v_filename,'w');
    utl_file.putf(v_fp,'%s\n',v_test);
    utl_file.fclose(v_fp);
    end;
    /都知道,执行没问题,为什么阿
      

  2.   

    [b]文件不是写在客户端,是写在了服务器上的对应目录!!![/b]
    --sys
    CREATE DIRECTORY ddd AS 'c:\';
    GRANT READ,WRITE ON DIRECTORY ddd to SCOTT;--scott
    DECLARE
      FILE_HANDLE UTL_FILE.FILE_TYPE;
    BEGIN
      FILE_HANDLE := UTL_FILE.FOPEN('DDD', 'xx.txt', 'w');
      UTL_FILE.put_line(FILE_HANDLE, 'hello word!');
      UTL_FILE.FCLOSE(FILE_HANDLE);
    EXCEPTION
      WHEN OTHERS THEN
        dbms_output.put_line(sqlerrm);
    END;
    /