我試圖在Oracle 11g中創建一個Java存儲過程來檢索Google Analytics信息。Oracle java存儲過程
現在工作了三天,但沒有成功。使用
上傳的5個所需的JAR文件,here link,到數據庫:這是一步一步我做了什麼
loadjava -user scott/[email protected] gdata-analytics-2.1.jar
然後,我創建Java源文件(在PL/SQL開發IDE)並使用上面鏈接中的示例代碼。編譯它(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.
使用谷歌,我發現this link(一個類的Java代碼,其中有一種方法,完全打印此錯誤消息),我想我必須使用同步方法,請檢查鏈接,我想你也會發現。
現在的問題是,我真的不知道如何以及在哪裏必須放置這個同步的代碼。如果你們中的某個人能夠告訴我,我會真的。
感謝您閱讀這篇文章,如果有人可以幫助我,將不勝感激。
凱文Vermaat
您需要完整的stacktrace進行取證分析。這聽起來像是學習如何檢索的好時機。 –
如果您下次登錄時,請閱讀我對您的回答的評論:) –
我不熟悉Oracle數據庫內JVM的更精細的工作方式,並且無法幫助您瞭解這一點。你可能想要打開一個新的問題,明確地詢問,只是爲了做到這一點。 –