пытается экспортировать исходный код Java из базы данных Oracle - PullRequest
1 голос
/ 18 марта 2010

Я пытаюсь экспортировать исходный код для Java-объекта из базы данных Oracle, используя следующий код.

DECLARE
  blob1 BLOB;
BEGIN
  DBMS_LOB.CREATETEMPORARY(blob1, FALSE);
  DBMS_JAVA.EXPORT_SOURCE('OBJECTNAME', 'SCHEMANAME', blob1);  
END;

Всякий раз, когда я пытаюсь запустить его, я получаю это исключение:

oracle.aurora.rdbms.ModifyPermissionException

, хотя я работаю как Система. Любые идеи, что вызывает это и как я могу заставить это работать.

Изучив немного больше, он работал как sysdba, а также как пользователь, владеющий объектами. К сожалению, я делаю программу для выгрузки java-объектов в базу данных Oracle, и я не могу заставить своих пользователей быть sysdba или владельцем объекта.

Можно ли как-нибудь остановить эту ошибку?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2018

У меня такая же проблема, но после нескольких поисков в гугле я ее решаю. Наверное, поможет кому-то.

DECLARE 
 b CLOB;
 c varchar2(2000);
 i integer:= 255;
begin
  DBMS_LOB.createtemporary(b, false);
  DBMS_JAVA.export_resource('<object_name>', '<schema_name>', b);
  DBMS_OUTPUT.PUT_LINE('java_resource:');
  DBMS_LOB.read(b, i, 1, c);
  DBMS_OUTPUT.PUT_LINE(c);
end;
0 голосов
/ 19 марта 2010

При подключении используйте опцию «as sysdba». Я не получаю ModifyPermissionException, когда я вхожу в систему как sysdba. Смотрите мои действия ниже. ORA-29532, который я получаю, потому что у меня просто нет класса Java в моей базе данных. дайте мне знать, если это сработало для вас.

C:\Documents and Settings\KrassimirB>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 18 15:58:10 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> connect sys/oracle@orcl as sysdba
Connected.
SQL> @C:\tmp\java_export.sql
  7  /
DECLARE
*
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception:
java.sql.SQLException: no such java schema object
ORA-06512: at "SYS.DBMS_JAVA", line 182
ORA-06512: at line 5


SQL>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...