是否可以從Oracle(10g)數據庫中運行java jar文件?更具體地說,我期待計劃使用Oracle作業正在執行Java
dbms_scheduler.create_job(...)
的Oracle作業運行時,作業將調用執行涉及通過HTTP,一些業務邏輯說話到另一個應用程序的過程的Java應用程序,然後執行存儲過程針對使用JDBC的數據庫。
通常情況下,做這件事的時間工作可以正常工作,但是java應用程序需要作爲給定的架構所有者與數據庫交談。出於各種隱私原因,我無法將用戶憑據作爲純文本存儲在應用程序配置中。
總之,我想知道是否有辦法安排一個工作來執行一個罐子,傳遞安排工作的用戶的憑據。
我不熟悉Oracle作業調度和Oracle數據庫運行Java代碼,所以任何指向正確方向的指針都會很棒。儘管我確信它必須存在,但我還沒有真正能夠找到任何我想要做的體面文件。
編輯:發現了一些文件,它看起來像我可以做類似
DBMS_SCHEDULER.create_program (
program_name => 'recurring_java_task',
program_type => 'EXECUTABLE',
program_action => 'java -jar /path/to/recurring-task.jar',
number_of_arguments => 2,
enabled => TRUE,
comments => 'Program to perform cleanup');
然後用 DBMS_SCHEDULER.CREATE_JOB(...)
爲「recurring_java_task」創建工作。好像參數使用
DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE (
job_name IN VARCHAR2,
argument_position IN PLS_INTEGER,
argument_value IN VARCHAR2);
這仍然沒有解決Java應用程序提供連接憑據(用戶名/密碼)的問題,雖然設置。
這是最終成爲唯一真正的解決方案,我發現沒有授權問題與傳遞憑據。感謝您的參考! – BuffaloBuffalo 2010-10-28 14:08:25