다음 코드를 사용하여 oracle 데이터베이스에서 java 객체의 소스를 내보내려고합니다. 나는 시스템으로 실행하고 비록Oracle 데이터베이스에서 java 소스 코드를 내보내려고합니다.
oracle.aurora.rdbms.ModifyPermissionException
: 나는 그것을 실행하려고 할 때마다
DECLARE
blob1 BLOB;
BEGIN
DBMS_LOB.CREATETEMPORARY(blob1, FALSE);
DBMS_JAVA.EXPORT_SOURCE('OBJECTNAME', 'SCHEMANAME', blob1);
END;
, 나는이 예외를 얻을. 어떤 아이디어가 이것을 일으키는 지, 어떻게 작동시킬 수 있습니까?
좀 더 조사한 결과, sysdba 및 개체를 소유 한 사용자로 실행될 때 더 효과적이었습니다. 불행히도 Oracle 데이터베이스에서 Java 객체를 덤프하는 프로그램을 만들고있어 사용자를 sysdba 또는 객체 소유자로 만들 수는 없습니다.
이 오류를 막을 방법이 있습니까?
아마도 이미 실행 권한 부여를 시도 했습니까? 나는 그들이 exec privs을 가지지 않았기 때문에 시스템이 procs를 실행할 수없는 문제를 상기 한 것 같다. 이상하게 보일 지 모르지만 나는 그것이 한동안 일어난다는 것을 안다. – MJB
나는 entirly 가능하다해도 나는 그것을 틀리게 생각한다. 문제는 DBMS_JAVA.EXPORT_SOURCE를 실행하고있는 것처럼 보이지만 EXPORT_SOURCE proc를 실행하여 예외적 인 부분을 얻는 것입니다. – Lionel
이와 같은 작업을 수행했다면 아마 올바르게 처리 할 수 있습니다. SQL> connect sys/password SQL> dbms_java에서 시스템에 grant 실행; SQL> connect system/password SQL> @script (스크립트를 실행하십시오) – MJB