2017-07-19 17 views
2

Oracle APEXを使用して、データ・ロード定義に基づいてユーザーにCSVファイルアップロード機能を提供しています。伝統的にデータをマッピングするだけでなく、ビューwwv_flow_filesからBLOB列を取得して別のテーブルに保存したので、ユーザーは後でいつでもアップロードしたファイルを再ダウンロードできました。APEXへのアップグレード後にOracle APEXデータ・ロード・ウィザードからBLOBを取得できません。

ここで、私たちのテスト環境はAPEX 5.1にアップグレードされました。このオプションはもはや動作しません。ビューwwv_flow_filesに対応するファイルアップロードのエントリはありません。ビューapex_application_filesにはいずれも含まれていません。アプリケーション互換モードの設定が役に立たなかった

BLOBを取得する他の方法はありますか?

APEXのバージョンは5.1.2.00.09です。 Oracle Databaseのバージョンは12.1.0.2.0 Enterprise Editionです。

答えて

3

APEX 5.0以降、ファイルのアップロード機能がWWV_FLOW_FILESテーブルからAPEX_APPLICATION_TEMP_FILESに変更されました。新しいテーブルには、追加の属性"Purge at"があり、値は"End of request""End of session"です。したがって、開発者はWWV_FLOW_FILESテーブルのクリーンアップを気にする必要はありません。

しかし、データロードでは、APEX 5.0でその新しい機能を使用していませんでしたが、APEX 5.1とともに移動しました。つまり、なぜWWV_FLOW_FILESテーブルのファイルが見えなくなったのかが分かります。

アップロードしたファイルを保持するには、プロセスの前に"Data Load Source"ページにcustom PL/SQL process - "copy_blob"を置きます。そのプロセスのコードは、BLOBをAPEX_APPLICATION_TEMP_FILES(!)から自分のテーブルにコピーします。

+0

それでした!どうもありがとうございます! –

関連する問題