Write a file to an Oracle-directory

From WickyWiki

Create Oracle directory:

connect system
create or replace directory dir1 as 'C:/TEMP';
grant read, write on directory dir1 to user1;

Note: the Oracle directory will be accessed from the Oracle server directly.

Read/write file in directory:

set serveroutput on

DECLARE
   v_exists BOOLEAN; 
   v_length NUMBER; 
   v_blocksize NUMBER; 
   v_fileHandler UTL_FILE.FILE_TYPE;
BEGIN 
  dbms_output.put_line('*** test write (replace)');
  v_fileHandler := UTL_FILE.FOPEN('DIR1', 'test.txt', 'W');
  UTL_FILE.PUT_LINE(v_fileHandler, 'test.txt');
  UTL_FILE.FCLOSE(v_fileHandler);

  dbms_output.put_line('*** test exist');
  UTL_FILE.FGETATTR('DIR1', 'test.txt', v_exists, v_length, v_blocksize); 
  IF v_exists 
  THEN 
    dbms_output.put_line('found');
  else 
    dbms_output.put_line('not found');
  END IF; 
EXCEPTION
  WHEN OTHERS THEN
  BEGIN
    dbms_output.put_line(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE || SQLERRM);
  END;
END;
/