1
JavaコードでPL/SQLストアド・プロシージャをコールしています。パッケージが結果を返すのに非常に時間がかかることがあります。 PL/SQLコールから出てJavaにログを書き込むことは可能ですか?PL/SQLプロシージャでのロング・アクティブ・セッション
Javaコード以下を参照してください:
long startTime = 0L;
long endTime = 0L;
startTime = System.currentTimeMillis();
logger.info("Starting Time PKGSM2_TOOLS Alerts Package ------->"+startTime);
CallableStatement statement= con.getConnection().prepareCall("{call PKGSM2_CONTROL_CHART.PROC_INDICATORCHART_ECHARANGE(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");
statement.executeQuery();
endTime = System.currentTimeMillis();
logger.info("Ending Time PKGSM2_TOOLS Alerts Package ------->"+endTime);
logger.info("Total Package Execution Time Duration of Alerts Package ------->"+(endTime - startTime)+"ms");
を上記のコードでは、PL/SQLパッケージは、より多くの時間がかかり、要求がパッケージ内にある場合。パッケージコールに2分以上かかる場合は、コールを終了することはできますか?
また、PL/SQLストアド・プロシージャ内のロング・アクティブ・セッションの理由は何ですか?あなたの最終目標は、DBドライバを介して、ストアドプロシージャのプロセスをキャンセル?早まっ近いDBセッション/プロセスまたはJavaプロセスに従って、または両方のプロセスであり、どのような
あなたはUTLがUse UTL_FILE.PUT_LINEファイル使用することができます
DBに依存していますので、あなたのDBのソフトウェアを指定してください。また、あなたのシステムの詳細だけでなく、あなたの手続きの詳細も誰かが分かっていなければ、**ロングアクティブセッション**の理由に答えるのは簡単ではありません。 –
PL/SQLプロシージャから結果が得られない場合は、特定の時間(例:2分)後に、パッケージ呼び出しでエラーが発生したことをロガーに書き込んでください。私はjavaからエラーログを書き込む必要があります。ここでタイマーを計算するには2分以上かかりますか? – Varun
最初の質問に対する解決策をご提案ください。 – Varun