Database 从Oracle数据库11g到IBM i连接的Java存储过程

Database 从Oracle数据库11g到IBM i连接的Java存储过程,database,oracle11g,ibm-midrange,Database,Oracle11g,Ibm Midrange,我们正试图从Java存储过程连接DB2fori数据库(以前称为as/400)。 我们得到以下信息: 授予此权限的PL/SQL是dbms_java.grant_权限('user','SYS:java.net.SocketPermission','xx.xx.xx:xxxx','connect,resolve') 我们通过以下方式做到了这一点: exec dbms_java.grant_权限('user','SYS:java.net.SocketPermission','xx.xx.xx.xx:xx

我们正试图从Java存储过程连接DB2fori数据库(以前称为as/400)。 我们得到以下信息:

授予此权限的PL/SQL是dbms_java.grant_权限('user','SYS:java.net.SocketPermission','xx.xx.xx:xxxx','connect,resolve')

我们通过以下方式做到了这一点:

exec dbms_java.grant_权限('user','SYS:java.net.SocketPermission','xx.xx.xx.xx:xxxx','connect,resolve')/承诺/

我们创建了一个ACL并为用户添加了权限。 但我们仍然得到同样的错误。 有什么建议吗?

解决方案: 1-删除JAVA$策略表中的所有重复记录。 2-授予用户在默认Oracle端口(1521)上的权限

exec dbms_java.grant_权限('user','SYS:java.net.SocketPermission','xx.xx.xx.xx:1521','connect,resolve')/承诺/


这听起来像是Oracle方面的一个权限问题,在它尝试连接到IBM i系统之前,对吗?通过删除java$policy表中的所有重复权限可以解决此问题。您可以将此解决方案作为答案发布,以帮助可能遇到类似问题的其他人并寻求答案。