DBAsupport.com Forums - Powered by vBulletin
Results 1 to 5 of 5

Thread: !

Hybrid View

  1. #1
    Join Date
    Aug 2005


    Thanks in advance for helping. Here is the problem...

    I'm testing a Java proc that I will be calling in a trigger. This proc works when run from a command line outside of oracle.

    In the PBRELIN schema I run:

    exec :x := pbrelin.createRemedyTicket('WE','S0400', '111', 'WE', 'A0400', '112', 'Bob Jones', 'Boss');

    I get...

    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    java.security.AccessControlException: the Permission
    (java.util.PropertyPermission java.lib.path write) has not been granted to PBRELIN. The PL/SQL to grant this is dbms_java.grant_permission( 'PBRELIN',
    'SYS:java.util.PropertyPermission', 'java.lib.path', 'write' )
    ORA-06512: at line 1

    So in the PBRELIN schema I run
    exec dbms_java.grant_permission('PBRELIN', 'SYS:java.util.PropertyPermission', 'java.lib.path', 'write' );

    PL/SQL procedure successfully completed.

    I run the createRemedyTicket java proc again and I get the same error.

    So, I connect to SYS/xxxx as sysdba and run

    exec dbms_java.grant_permission('SYS', 'SYS:java.lang.RuntimePermission', 'loadLibrary.arjni60', 'read ,write, execute, delete' );


    call dbms_java.grant_policy_permission('PBRELIN','SYS','java.io.FilePermission','*');

    connect back to PBRELIN

    I run the createRemedyTicket java proc again and I get the same error.

    I've checked my class paths, they seem ok.

    Any ideas what I might be doing wrong?


  2. #2
    Join Date
    Dec 2000
    If you are java procedure contains only database related commands then consider writing a PL/SQL procedure which is the right way to do.

    If its not tell us what the java procedure does

  3. #3
    Join Date
    Aug 2005
    The PL/SQL trigger passes the createRemedyTicket java proc data to create a help desk ticket in a system called REMEDY. REMEDY has java APIs that the createRemedyTicket java proc calls to do this.

  4. #4
    Join Date
    Aug 2005

    Here's the problem,

    Utilizing Java Native Interface (JNI) Support

    The Java Native Interface (JNI) is a standard programming interface for writing Java native methods and embedding the Java virtual machine into native applications. The primary goal of JNI is to provide binary compatibility of Java applications that use platform-specific native libraries.

    Oracle does not support the use of JNI in Oracle9i Java applications. If you use JNI, your application is not 100% pure Java, and the native methods require porting between platforms. Native methods have the potential for crashing the server, violating security, and corrupting data.

    Oh well, back to the old drawing board

  5. #5
    Join Date
    Nov 2000
    Did you grant explicit permission (not through a role) to the object? Seems like a permission issue to me, although I'm not well versed in java...
    Jeff Hunter
    Get Firefox!
    "I pledge to stop eating sharks fin soup and will not do so under any circumstances."

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Click Here to Expand Forum to Full Width

We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.