У меня есть простой класс Java, который вычисляет SHA1, и я хочу использовать его из процедур PLSQL в Oracle.
Следующие советы от:
SHA1, SHA256, SHA512 в Oracle бесплатно без использования DBMS_CRYPTO
(в моем простом случае используется unly SHA1, не требуются никакие jar-файлы и состоит только из sha1.class, который импортирует java.security и java.io)
Я скомпилировал sha1.java с:
javac -target 1.2 -source 1.2 sha1.java
и установил этот sha1.class в моей тестовой среде Windows:
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
EDITED
Я попытался использовать источник .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
Что я должен сделать, чтобы загрузить этот класс или источник в Oracle на Solaris?