2016-11-21 28 views
0

我有一個Oracle PL/SQL作業,每週運行4天,時間爲15到15分鐘。這項工作是檢查源表是否爲空,如果它不是空的,它將插入到另一個表中。當作業結束一封電子郵件時,它會發送到檢查結果。由於業務規範,我必須發送附件中的Excel文件,並將該電子郵件與表的結果集一起發送。我實現了一個Java項目來解析表格並將數據插入到文件中。使用PL/SQL的Java作業Oracle

我的問題是如何創建一個作業來同時運行PL/SQL作業和Java項目?

+0

'ScheduledExecutorService'和'Producer-Consumer problem'可以幫助你解決這個問題。 – Azodious

+0

請問您是否可以更具特色?我的問題是我不知道如何使用Java項目創建/集成DBMS_SCHEDULER Oracle Job。你能以這種方式幫助我嗎? –

+0

您可以通過將dbms_scheduler作業與Java項目集成來更具體地瞭解您的意思嗎? Java可以調用過程,PL/SQL可以發送電子郵件。什麼是不正確的工作? –

回答

-3

有四種方法。

  1. 使用oracle schedular。
  2. 在插入時使用oracle觸發器。
  3. 使用 「的crond」 或 「批量處理」
  4. 讓其他外部java程序使用事務
+0

在評論區添加您的回覆。沒有回答。 – Azodious

+0

我沒有批處理。我使用Oracle調度程序創建了一份工作,並且我有一個外部Java項目,我想將其集成到我的工作中,或者與我的工作集成起來運行。 –

+0

@Abodious:對不起,這是我的第一個Stackovetflow。下次我會寫評論。 – likemilk

0

有2路::

既可以使用基於數據庫的調度DBMS_SCHEDULER運行PL/SQL工作,並從這個工作做完整的事情。

另一種使用基於Java的調度程序和Java程序的方法使用Callable語句調用您的PI/SQL過程並完成寫入該文件的過程。

+0

我使用Oracle調度程序創建了自己的Job,但我無法完成該作業中的全部工作。我想將這個部分與java項目集成到一個工作中。 –

+0

DBMS_SCHEDULER具有郵件功能並且還使用UTL_FILE,您可以直接從DB Job寫入文件或導出爲CSV,爲什麼需要Java程序。 https://oracle-base.com/articles/11g/scheduler-enhancements-11gr2 –

+0

下面是從PL/SQL中將結果集寫入Excel的方法 –

0

您應該使用調度程序並將PL/SQL作業包含在其中。我已經使用Quartz這是非常好的