25.3 レガシー・データ・ロード機能を使用したアプリケーションの管理
レガシー・データ・ロード機能を持つアプリケーションでは、エンド・ユーザーは、アクセスできる任意のスキーマ内にある表にデータを動的にインポートできます。
- レガシー・データ・ロードと新しいデータ・ロードの比較
レガシー・データ・ロードと新しいデータ・ロードの相違点について説明します - レガシー・データ・ロード・ウィザードの作成について
ページの作成ウィザードを実行して「データ・ロード」ページを作成することで、データ・ロード・ウィザードを作成します。 - レガシー・データ・ロード・ページの作成
レガシー・データ・ロード・ウィザードを作成するには、開発者がページの作成ウィザードでデータ・ロード・ページを作成します。 - レガシー・データ・ロード・ページの再作成
既存のレガシー・データ・ロード・ページに変更を加えるには、データ・ロード定義を削除せずに、新しいページを再作成することをお薦めします。 - レガシー・データ・ロード定義の編集
「共有コンポーネント」でデータ・ロード定義を編集します。
親トピック: アプリケーション・レガシー・コンポーネントの管理
25.3.1 レガシー・データ・ロードと新しいデータ・ロードの比較
レガシー・データ・ロードと新しいデータ・ロードの相違点について説明します
Oracle Application Expressには、新しいデータ・ロードとレガシー・データ・ロードの2つのタイプのデータ・ロードが含まれています。新しいデータ・ロードには、レガシー・データ・ロードよりも多くの利点があります。
新しいデータ・ロードの利点は次のとおりです。
-
新しいアプリケーション・データ・ロードでは、
CSV
、XLSX
、XML
およびJSON
形式がサポートされます。 -
列マッピングは設計時に実施され、エンド・ユーザーの負担がなくなります。
-
単純な名前または正規表現に基づいた柔軟な列マッピング。
-
トランスフォーメーション・ルールまたはルックアップ問合せによるデータ変換。
-
エンド・ユーザーのための簡単なワークフロー: ファイルのアップロード、プレビューの確認、データのロード。
-
CSV
、XLSX
、XML
およびJSON
のデータ形式を表またはコレクションにアップロードできます。 -
データ・ロードは、エラー処理の有無とともに、データを追加、マージまたは置換するように構成できます。
-
シンプルで新しいプロセス・タイプのデータ・ロード: 目的に合わせてデータ・ロードのページをカスタマイズできます。
-
カスタム・プロセスには、
APEX_DATA_LOADING
PL/SQL APIを使用できます。 -
最大300列をロードできます。レガシー・データ・ロードでは最大45までのサポートになる点に注意してください。
25.3.2 レガシー・データ・ロード・ウィザードの作成について
ページの作成ウィザードを実行して「データ・ロード」ページを作成することで、データ・ロード・ウィザードを作成します。
データ・ロード・ページの作成プロセス中に、開発者はアップロード表とその一意の列、表参照およびデータ・トランスフォーメーション・ルールを指定できます。
ノート:
データ・ロード・ウィザードは、何十万ものデータ行をロードするようには設計されていません。データ・ロード・ウィザードを使用してこの大量のデータをロードすることは可能ですが、大量のデータ・ファイルの転送およびロードの両方でパフォーマンスの問題が発生する可能性があります。Oracle SQL DeveloperおよびOracle SQL*Loaderのようなツールの方が、大量のデータのロードに適しています。
データ・ロード・ウィザードの実装には、次のサポートが含まれます。
-
表の定義: この定義は、一意のキー列を持つデータ・アップロード表の名前を指定します。
-
データ・トランスフォーメーション・ルール - インポート・データを大文字や小文字に変更するといったトランスフォーメーションのフォーマットを行うために、データ・トランスフォーメーション・ルールを定義する必要があります。たとえば、インポート・ファイルに大文字と小文字の両方の列データが含まれ、アップロード表ではすべて大文字であることが必要な場合、大文字のみをターゲット列に挿入するようにデータ・トランスフォーメーション・ルールを定義できます。
-
表参照 - インポート・ファイルの既存データを別の表のデータにマッピングする必要がある場合、表参照を指定してマッピングを実行します。たとえば、インポート・ファイルには
DEPTNO
列に部門名が含まれているが、アップロード表ではその列に数値が必要な場合、表参照ルールを使用して、別の表でその部門名に対応する部門番号を探します。 -
列名の別名 - 開発者がエンド・ユーザーに表の列名を公開したり、エンド・ユーザーにすべての列を公開することを望まない状況が数多くあります。このような状況では、公開する必要がある列の別名を作成できます。
-
同時実行性の管理 - 複数のユーザーが同時にデータをアップロードする場合、開発者は追加の列を使用して、基礎となる表のデータ・バージョンを追跡できます。データ・ロード・ウィザードでは、この列を使用して、別のユーザーが同時に同じデータを使用しているかどうかを確認し、エンド・ユーザーに伝えます。これは、定期的に更新される表にアップロードする場合に特に重要です。
-
複数のスプレッドシート列 - アップロードされるスプレッドシートに複数の列があり、開発者がその列を連結して1つの表の列にアップロードすることが必要な状況が数多くあります(スプレッドシートの
FirstName
およびLastName
をEMP
表のENAME
にアップロードするなど)。 -
検証のスキップ - 検証ステップをスキップすることで、大量のレコードをアップロードする際のデータ・ロードのパフォーマンスを向上できます。何千ものレコードをアップロードする場合、エンド・ユーザーは、各レコードの検証に関心がないことがあります。各レコードが新規レコードとして挿入されることが確実な場合は、データ・ロード・プロセスで重複をチェックする必要はありません。
新たに生成されたデータ・ロード・ウィザードは4つのページで構成され、ユーザーはファイルからの、またはコピー・アンド・ペーストによるデータのアップロード、データおよび表のマッピングの定義、データの検証、および最終的な表へのデータのアップロードを行うことができます。開発者は後で、「共有コンポーネント」、「データ参照」、「データ・ロード定義」にアクセスして、表参照やデータ・トランスフォーメーション・ルールなどのデータ・ロード・ウィザードの定義を編集できます。
サポートされるデータ型
データ・ロード・ウィザードは、次のデータ型をサポートしています。
-
VARCHAR2
-
DATE
-
TIMESTAMP
-
NUMBER
サポートされないデータ型
データ・ロード・ウィザードは、次のデータ型をサポートしません。
-
ラージ・オブジェクト(
BLOB
およびCLOB
) -
複合型(
XMLTYPE
およびSDO_GEOMETRY
) -
CHAR
関連項目:
25.3.3 レガシー・データ・ロード・ページの作成
レガシー・データ・ロード・ウィザードを作成するには、開発者がページの作成ウィザードでデータ・ロード・ページを作成します。
レガシー・データ・ロード・ウィザードを作成するには:
- ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
- アプリケーションを選択します。
- 「ページの作成」をクリックします。
- 「ページの作成」で、次のステップを実行します。
- 「データ・ロード表」で、次のステップを実行します。
- レガシー・データ・ロード - レガシー・データ・ロード定義を新しく作成するか、既存のものを再利用するかを選択します。
- 定義名 - このデータ・ロード定義の名前を入力します。
- 所有者: フォームの基になる表の所有者を選択します。
- 表名: データのロードに使用する表を選択します(アップロード表とも呼ばれます)。
- 一意列1: データ・ロードの処理で一意の主キー列として使用する列名を指定します。最大3個の一意キー列を定義できます。
- 大/小文字区別 - 選択した一意キー列で大/小文字を区別するかどうかを指定します。デフォルトでは、これは「いいえ」に設定されます。
- 追加の一意列を定義します。最大3個の一意キー列を定義できます。
- 「次」をクリックします。
- トランスフォーメーション・ルールの追加(オプション)の場合 - トランスフォーメーション・ルールを使用すると、アップロードされるデータをベース表に挿入する前に変更できます。変換する列とその列に適用する適切なルールを選択します。
- トランスフォーメーション・ルールを作成するための列の選択: トランスフォーメーション・ルール定義の基になる列を選択し、右に移動します。
- ルール名: このトランスフォーメーション・ルールの名前を入力します。
- 順序: トランスフォーメーション・ルールの順序を指定します。これによって実行の順序が決まります。
- タイプ: 実行するトランスフォーメーション・ルールのタイプを選択します。
- 選択したトランスフォーメーション・タイプに基づいて追加の詳細を指定します。
- 「トランスフォーメーションの追加」をクリックします。
- 「次」をクリックします。
- 表ルックアップの場合 - アップロードされた値を別の表と照合し、関連するキー値をアップロードされた値のかわりに使用します。
- 列の新規表参照の追加(オプション): 表参照定義の基になる列を指定します。
- 参照表の所有者 - 参照表の所有者を選択します。
- 参照表名 - この表参照定義に使用される表を指定します。
- 戻り列: 表参照で戻される列の名前を選択します。この値は、指定されたロード列に挿入されるもので、通常、外部キー・リレーションシップの親のキー値です(例:
DEPTNO
)。 - アップロード列 - エンド・ユーザーによって戻り列のかわりにアップロードされる列の名前を選択します。これは、参照表の表示値を含む列です(例:
DNAME
)。 - アップロード列2: 必要に応じて、戻り列を一意に識別するためにアップロードされる2番目の列の名前を選択します。たとえば、州コードを一意に識別するには、州名および国をアップロードする必要がある場合があります。
- アップロード列3: 戻り列を一意に識別するためにアップロードされる3番目の列の名前を選択します。
- 「参照の追加」をクリックして参照定義を追加します。さらに表参照を追加するには、前のステップを繰り返します。
- 「次へ」をクリックして、参照の作成を終了します。
- 「ページ属性」で、次のステップを実行します。
- ステップ1、ステップ2、ステップ3およびステップ4 - 各ステップでページ名とページ番号を入力します。
- ページ番号: 各ステップのページ番号を入力します。
- ページ・モード - ページ・モードを指定します。さらに学習するには、フィールドレベル・ヘルプを参照してください。
- ページ・グループ - このページと関連付けるページ・グループの名前を指定します。
- ブレッドクラム - ページでブレッドクラム・ナビゲーション・コントロールを使用するかどうか、およびどのブレッドクラム・ナビゲーション・コントロールを使用するかを選択します。
- 「次」をクリックします。
- 「ナビゲーション・メニュー」で、次のステップを実行します。
- ナビゲーションのプリファレンス: このページをどのようにナビゲーション・メニューに統合するかを選択します。さらに学習するには、フィールドレベル・ヘルプを参照してください。
- 「次」をクリックします。
- 「ボタンとブランチ」で、データ・ロード・ウィザードのページのボタンに使用するブランチを指定します。
- 新規ボタン・ラベル: 「次へ」ボタンに表示するテキストを入力します。
- 「戻る」ボタン・ラベル: 「前」ボタンに表示するテキストを入力します。
- 「取消」ボタン・ラベル: 「取消」ボタンに表示するテキストを入力します。
- 「取消」ボタンでブランチするページ - ユーザーが「取消」をクリックしたときの、ブランチ先のページ番号を指定します。
- 「終了」ボタン・ラベル - 「送信」ボタンに表示するテキストを入力します。
- ページへの「終了」ボタン・ブランチ: ブランチ先のページの番号を指定します。アプリケーション内の同じページまたは他のいずれのページにもブランチできます。
- 「作成」をクリックします。
- 「ページの保存と実行」をクリックして、データ・ロード・ウィザードをテストします。
ヒント:
データ・ロード・ウィザード・ページの作成後、変更が必要な場合は、次の項で説明するように、データ・ロード定義を削除するのではなく、新規ページを再作成することをお薦めします。
関連項目:
25.3.4 レガシー・データ・ロード・ページの再作成
既存のレガシー・データ・ロード・ページに変更を加えるには、データ・ロード定義を削除せずに、新しいページを再作成することをお薦めします。
データ・ロード定義を削除しないでレガシー・データ・ロード・ウィザード・ページを再作成するには: