My Java Utilities

See How to Java stored procedures
see note 183825.1 for extensive descriptions over java permissions

Execute:

WriteToFile.java.sql

/
SHOW ERRORS;
CREATE OR REPLACE PACKAGE myjavautils AUTHID CURRENT_USER AS 
  PROCEDURE writeBlobToFile (p_file IN VARCHAR2, p_blob IN BLOB, 
    p_append IN number); 
  PROCEDURE writeClobToFile (p_file IN VARCHAR2, p_blob IN CLOB, p_append IN number); 
  PROCEDURE writeCharToFile (p_file IN VARCHAR2, p_blob IN VARCHAR2, p_append IN number);
  FUNCTION getHashCodeCLob (p_blob IN CLOB) return number; 
END myjavautils;
/

CREATE OR REPLACE PACKAGE BODY myjavautils AS
  PROCEDURE writeBlobToFile (p_file IN VARCHAR2, p_blob IN BLOB, p_append IN number) AS 
    LANGUAGE JAVA NAME 'myOracle.WriteToFile.writeBlobToFile(java.lang.String, oracle.sql.BLOB, oracle.sql.NUMBER)';
  PROCEDURE writeClobToFile (p_file IN VARCHAR2, p_blob IN CLOB, p_append IN number) AS 
    LANGUAGE JAVA NAME 'myOracle.WriteToFile.writeClobToFile(java.lang.String, oracle.sql.CLOB, oracle.sql.NUMBER)';
  PROCEDURE writeCharToFile (p_file IN VARCHAR2, p_blob IN VARCHAR2, p_append IN number) AS 
    LANGUAGE JAVA NAME 'myOracle.WriteToFile.writeCharToFile(java.lang.String, oracle.sql.CHAR, oracle.sql.NUMBER)';
  FUNCTION getHashCodeCLob (p_blob IN CLOB) return number AS 
    LANGUAGE JAVA NAME 'myOracle.WriteToFile.getHashCodeCLob(oracle.sql.CLOB) return int';
  FUNCTION CLobToString (p_blob IN CLOB) return varchar2 AS 
    LANGUAGE JAVA NAME 'myOracle.WriteToFile.CLobToString(oracle.sql.CLOB) return String';
END myjavautils;
/
grant JAVASYSPRIV to ALDO;
execute Dbms_Java.Grant_Permission( 'ALDO', 'java.io.FilePermission', '*', 'read ,write, execute, delete');
Please see note 183825.1 for extensive descriptions over java permissions