sql >> データベース >  >> RDS >> Oracle

APEX:一時テーブルからBLOBをダウンロードします

    apex_application.stop_apex_engine> wpg_docloadの後 電話。これにより、HTTPヘッダーがさらに出力されるのを防ぎ、さらに頂点コードが生成されるため、ダウンロードが台無しになる可能性があります。

      owa_util.mime_header( nvl(v_mime,'application/octet'), FALSE );
      htp.p('Content-length: ' || v_length);
      htp.p('Content-Disposition:  attachment; filename="'||replace(replace(substr(v_file_name,instr(v_file_name,'/')+1),chr(10),null),chr(13),null)|| '"');
      owa_util.http_header_close;
      wpg_docload.download_file( Lob_loc );
      apex_application.stop_apex_engine;
    

    さらに、詳しく説明します:

    はい。しかし、必ずしもあなたの場合ではありません。データベースセッションに関してapexがどのように機能するかを覚えておくことが重要です。 Apexはステートレスであり、接続プールで動作します。 apexセッションは通常1つのデータベースセッションと一致しません。たとえば、レンダリングと処理の間で同じデータベースセッションが使用されることは保証されません。これは、のドキュメントでも簡単に説明されています。セッション状態管理について 、便宜上コピー:

    グローバル一時テーブルの場合、データはその現在のデータベースセッションにのみ存在するため、多くの場合、これを使用しても意味がありません。この例は、オンロードのどこかでGTTにデータをロードし、送信後のプロセスまたはajax呼び出しでそれを使用することを意味する場合です。テーブルが空になる可能性が高いです。
    ただし、Apexは、 apex_collection 、特定の頂点セッション内でデータを一時的に保持します。



    1. SQLServerはコンマ区切りの値を列に分割します

    2. Oracle SQLでMERGEを実行する場合、SOURCEで一致しない行を更新するにはどうすればよいですか。

    3. Ecto&Elixirのデフォルトの日時

    4. 列の値に基づいてOracleクエリの結果を展開する方法