hi,
I have created and published a Java Stored procedure.
CREATE OR REPLACE PROCEDURE sp_sqljpoc
AS LANGUAGE JAVA
NAME 'SqlJPoc.main(java.lang.String[])';
/
SqlJPoc.main is a Java class that contains logic to connect to 2 remote databases and transfer data from one database to other database using JDBC. I am not using DB link due to security constraints.
When I execute the sp_sqpljpoc from SQL developer using execute sp_sqljpoc; I am getting the below error.
exception the Permission (java.net.SocketPermission <<hostname>> resolve) has not been granted to <<username>>. The PL/SQL to grant this is dbms_java.grant_permission( '<<username>>', 'SYS:java.net.SocketPermission', '<<hostname>>', 'resolve' )
java.security.AccessControlException: the Permission (java.net.SocketPermission <<hostname>> resolve) has not been granted to <<username>>. The PL/SQL to grant this is dbms_java.grant_permission( '<<username>>', 'SYS:java.net.SocketPermission', '<<hostname>>', 'resolve' )
at java.security.AccessControlContext.checkPermission(AccessControlContext.java)
at java.security.AccessController.checkPermission(AccessController.java)
at java.lang.SecurityManager.checkPermission(SecurityManager.java)
at oracle.aurora.rdbms.SecurityManagerImpl.checkPermission(SecurityManagerImpl.java)
at java.lang.SecurityManager.checkConnect(SecurityManager.java)
at java.net.InetAddress.getAllByName0(InetAddress.java:1144)
at java.net.InetAddress.getAllByName(InetAddress.java:1082)
at java.net.InetAddress.getAllByName(InetAddress.java:1018)
at oracle.net.resolver.HostnameNamingAdapter.resolve(HostnameNamingAdapter.java:167)
at oracle.net.resolver.NameResolver.resolveName(NameResolver.java:133)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:431)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:693)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:251)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1140)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:340)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:254)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java)
at java.sql.DriverManager.getConnection(DriverManager.java)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at SqlJPoc.main(SqlJPoc:16)
PL/SQL procedure successfully completed.
I have followed the steps in the below article to provide necessary grants but the issue persists. Please help!
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=179552650881683&parent=EXTERNAL_SEARCH&sourceId=PROBLEM&…