gpt4 book ai didi

java - 如何在 Solaris 上的 Oracle 上安装 Java 类

转载 作者:行者123 更新时间:2023-11-30 09:58:20 25 4
gpt4 key购买 nike

我有一个计算 SHA1 的简单 java 类,我想在 Oracle 的 PLSQL 过程中使用它。以下建议来自: SHA1, SHA256, SHA512 in Oracle for free without using DBMS_CRYPTO(我的简单案例只使用 SHA1,不需要任何 jar,只包含导入 java.security 和 java.io 的 sha1.class)

我用以下代码编译了 sha1.java:

javac -target 1.2 -source 1.2 sha1.java

并在我的 Windows 测试环境中安装了这个 sha1.class:

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

不幸的是,我必须在 Solaris 上安装它:

Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production

我试过了,但这些尝试都失败了:

c:\test>loadjava -thin -user ***** -resolve sha1.class
Error while creating class sha1
ORA-29545: badly formed class:: User has attempted to load a class (sha1) into a restricted package. Permission can be granted using dbms_java
.grant_permission(<user>, LoadClassInPackage...

The following operations failed
class sha1: creation
exiting : Failures occurred during processing

已编辑:

我尝试使用 .java 源而不是 .class 我得到了(从波兰语翻译)::

c:\mn>loadjava -thin -user ****** -resolve sha1.java
Error while creating sha1
ORA-06576: not a valid function or procedure name

Error while computing shortname of sha1
ORA-06550: line 1, column 13:
PLS-00201: must be declared 'DBMS_JAVA.SHORTNAME' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

The following operations failed
source sha1: creation
exiting : Failures occurred during processing

我应该如何将此类或源代码加载到 Solaris 上的 Oracle?

最佳答案

您必须运行 DBMS_JAVA.grant_permission 包(详细信息应该在您的错误消息中,在某些情况下还会显示在数据库服务器文件系统的跟踪文件中)。

以 SYS 身份从 SQL 接口(interface)连接:

begin
dbms_java.grant_permission(........);
end;

关于java - 如何在 Solaris 上的 Oracle 上安装 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1006186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com