Я пытаюсь создать хранимую процедуру Java в Oracle 11g, которая извлекает информацию из Google Analytics.
Работаю над этим уже три дня, но безуспешно. Вот шаг за шагом, что я сделал:
Загрузил 5 необходимых файлов JAR, здесь ссылка , в базу данных, используя:
loadjava -user scott/tiger@WH01 gdata-analytics-2.1.jar
Затем я создал исходный файл Java (в IDE разработчика pl / sql) и использовал пример кода по ссылке выше. Скомпилировал (f8) и он появился в дереве классов Java (то же самое для классов, созданных с помощью файлов jar).
После того, как я написал процедуру вызова класса java:
create or replace procedure KEVIN_PROCEDURE_ANALYTICS
AS LANGUAGE JAVA
NAME 'Kevin_Analytics.main(java.lang.String[])';
Наконец я вызываю процедуру:
exec KEVIN_PROCEDURE_ANALYTICS();
и я получаю ошибку:
ORA-29532: Java call terminated by uncaught Java exception: java.lang.IllegalStateException: Cannot call dirty() without holding the lock on the registry.
Используя Google, я нашел эту ссылку (Java-код класса, где есть метод, который точно печатает это сообщение об ошибке), и я решил, что мне пришлось использовать синхронизированный метод, пожалуйста, проверьте ссылку и я думаю, что вы тоже узнаете.
Теперь проблема в том, что я понятия не имею, как и где я должен поместить этот синхронизированный код. Если кто-то из вас покажет мне это, я буду действительно.
Спасибо за чтение этого поста, пожалуйста, если кто-то может мне помочь, он будет очень признателен.
Кевин Вермаат