1

ORACLE Web アプリケーションの非常に古いレポート生成関数をリファクタリングしています。JavaScript を使用して URL を作成し、レポート サーバーに送信してレポートを実行しました。私がやりたいのは、データベース内の PL/SQL プロシージャで処理することです ( を介して呼び出されますmod_pl/SQL)。私はそれをしようとしましutl_http.begin_requestたが、出力ファイルが大きい場合(PDF形式、約20ページ、1.5M)、エラーが発生することがあります:

ORA-29259: end-of-input reached. 

リクエストを送信するためのテスト コードは非常に単純です。

--------2013/08/27更新------------------------------------ ----------------------

 UTL_HTTP.set_transfer_timeout(1000);
 --some params setting....
 myIdent := SRW.RUN_REPORT(myPlist);  --here raise the exception(ORA-29273:request_failed; ORA-29259: end-of-input reached.) and procedure stoped.
 r_stat := SRW.report_status(myIdent,myPlist);

@ThinkJet、ご協力ありがとうございます。レポート サーバーにログオンし、プログラムでこの例外が発生した後もレポートがまだ実行されていることを確認し、最終的には正常に終了しました。何度もテストを行ったところ、リクエストを開始してからわずか 5 分後に必ず例外が発生することがわかりました。私が実行していたレポートの種類とそのサイズ (確かに、すべて大きなサイズで、5 分以上実行されています)。Oracle アプリケーション サーバーの構成に関するものでしょうか?

誰もこれについて考えていますか?どうもありがとう。

4

2 に答える 2

0

Oracle Reports側で大きなレポートを作成するには時間がかかるため、タイムアウトが発生することがあります。utl_http.set_ransfer_timeoutリクエストを発信する前に手順でタイムアウトを増やしてみて、それが役立つかどうかを確認してください。

于 2013-08-13T07:32:19.403 に答える