このセクションでは、以下の単一表アウトバウンド・データベース・アクティビティーを構成するための手順について説明します。
アクティビティーには、以下が含まれます。
- 行の挿入 - このアクティビティーは、アクティビティーの入力パラメーターにマップされている変数からデータを取得し、指定したデータベース表にそのデータを行として挿入します。
- 行の更新 - このアクティビティーは、アクティビティーの入力パラメーターにマップされている変数からデータを取得し、その新規データで、指定されたデータベース表の行を更新します。
- 行の削除 - このアクティビティーは、アクティビティーの入力パラメーターにマップされている変数からデータを取得し、そのデータに基づいて、指定されたデータベース表の行を削除します。
「
行の更新」アクティビティーおよび「
行の削除」のアクティビティーでは、統合アプライアンスがデータベース表を統合して、表内のどの列が 1 次キー列であるのかを判別します。 「
行の更新」アクティビティーまたは「
行の削除」アクティビティーが実行時に開始されると、統合アプライアンスは、1 次キー番号を含む入力変数の値を使用して、更新または削除する行を判別します。
例えば、
PK 列がデータベース表の 1 次キー列としてデータベースに定義されているとします。
「
行の削除」アクティビティー用の「
チェックリスト」の「
表の選出 (Pick Table)」タスクで、
PK 列に対して「
使用」チェック・ボックスが選択されます。 次の
図 1 に示されているように、「
行の削除」アクティビティーの「入力のマップ」ペインで、
myIncomingPK という名前の変数が行の
PK エレメントにマップされます。
図 1. myIncomingPK が、行の PK エレメントにマップされる様子を示す図
次の
図 2 に示されているように、実行時に、
myIncomingPK 変数の値が 3 である場合、値が 3 の
PK を持つ行は表から削除されます。
図 2. 1 次キーが 3 である行が削除される様子を示す図
「
チェックリスト」の「
表の選出 (Pick Table)」タスクで 1 次キー列が指定されていない場合、1 次キーのように機能する列を少なくとも 1 つ指定してください。 「1 次キーの構成」ダイアログ・ボックスを使用して 1 次キーとして機能する列 (複数可) を指定するには、「
行の削除」アクティビティーおよび「
行の更新」アクティビティー用の「
チェックリスト」の「
表の選出 (Pick Table)」タスクで「
キー」をクリックします。 データベース表で 1 次キーが指定されていない場合、あるいは「1 次キーの構成」ダイアログ・ボックスで 1 次キーとして機能するようにキーが選択されていない場合、データベース表のすべての行は、削除操作または更新操作によって影響を受けます。
また、「1 次キーの構成」ダイアログ・ボックスを使用して、1 次キー列のように機能する列をさらに指定することもできます。 例えば前の図の表では、1 次キー列としてデータベースに定義された PK 1 次列に加えて、Name 列が 1 次キー列のように機能するように定義することもできました。
単一表アウトバウンド・データベース・アクティビティーをオーケストレーションに追加する
- オーケストレーションを作成するか、または開きます。 オーケストレーションのグラフィカル表現が表示されます。
- 「アクティビティー」タブを選択し、「データベース」フォルダーを展開します。
- 必要な単一表アウトバウンド・データベース・アクティビティー (「行の挿入」、「行の削除」、または「行の更新」) をオーケストレーション上にドラッグします。
- アクティビティーを選択します。
データベース・エンドポイントを作成、選択、または編集する
- 「チェックリスト」で「エンドポイントの選出」タスクをクリックして、以下のいずれかのアクションを選択します。
- 既存のエンドポイントを選択します。
- 「参照」を選択します。 「プロジェクト・エクスプローラー」が表示されます。
- 既存のエンドポイントを選択し、「OK」をクリックします。
『アクティビティーの構成』手順までスキップします。
- 既存のエンドポイントを選択し、そのエンドポイントを編集します。
- 「参照」を選択します。 「プロジェクト・エクスプローラー」が表示されます。
- 既存のエンドポイントを選択し、「OK」をクリックします。
- 「編集」をクリックします。 「エンドポイントの編集」ペインが表示されます。
- エンドポイントを作成します。「新規作成」を選択します。 「エンドポイントの作成」ペインが表示されます。
- HTTP エンドポイントを作成または編集します。『HTTP エンドポイントの作成または編集』を参照してください。
実行時に統合アプライアンスが変更をポーリングするソース・データベース表で列を選択する
- 「チェックリスト」で「表の選出 (Pick Table)」をクリックします。
「表の選出 (Pick Table)」ペインが表示されます。
- 「参照...」をクリックして、インバウンド・メッセージのソースとなるデータベース表を選択します。 「データベース表の表示」ダイアログ・ボックスが表示されます。
- リストから表を選択し、「OK」をクリックします。
選択した表の列情報が「表の選出 (Pick Table)」ペインに表示されます。
- この表の文字エンコードがデータベースのエンコードと異なる場合、以下のオプションのいずれかを使用して、別のエンコードを入力します。
- 「エンコード」リストから、デフォルトのエンコード・タイプの 1 つを選択します。
- 「エンコード」フィールドをクリックしてエンコード・タイプを入力することにより、エンコード・タイプを直接入力します。
これにより、結果として生成されるバッファー・テーブルのすべての列にそのエンコードが設定されます。
- デフォルトで、ソース表内のすべての列が選択されます。 結果として生成されるバッファー・テーブルから列を削除するには、「使用」チェック・ボックスをクリアします。 「すべて使用」をクリックすると、すべての列がもう一度選択されます。
- 列見出しをクリックすると、その列の値で行がソートされます。 例えば、列名で行をソートするには、列の「列名」見出しをクリックします。 列見出し名の右側に矢印が表示されます。 上矢印は、列が a で始まり z へと続くアルファベット順でソートされていることを示します。
下矢印は、列が z で始まり a へと続く逆のアルファベット順でソートされていることを示します。矢印をクリックすると、アルファベットの順序が逆になります。
- 「更新済み行の取得」アクティビティーの場合のみ - 結果として生成されるバッファー・テーブルに、更新された列の新しい値と元の値の両方が含まれるようにするには、以下の手順に従います。
- 「古い値 (Old Values)」をクリックします。 「更新用の古い値の列」ダイアログ・ボックスが表示されます。
- 元の値を保存するデータベース列の「保管 (Store)」チェック・ボックスを選択します。
- 元の値を保管する列に割り当てられているデフォルトの名前を変更することができます。 該当する「古い値を保管する列の名前」セルをダブルクリックします。
- 「OK」をクリックします。選択した列の先頭に old_ というストリングが付けられたものが、「出力のマップ」ペインの「アクティビティーから」に表示されます。 「出力のマップ」ペインから、新しい値と元の値の両方をマップすることができます。
- 必要に応じて、「データ型」、「エンコード」、または「ヌル可能」値の設定を変更します。 新しく選択を行うフィールドをクリックします。
- データ型 - デフォルトでは、ソース・データベース表内の列のデータ型。 バッファー・テーブル内の列の必要なデータ型がソース表のデータ型と異なる場合は、「データ型」セルをクリックして、リストから別のデータ型を選択します。
「UNSUPPORTED」のマークが付けられているデータ型については、適切なデータ型を選択する必要があります。
注: Oracle データベースの XMLTYPE データ型と、SQL Server データベースの MONEY データ型については、Studio によって自動的には正しいデータ型が関連付けられないため、ユーザーが適切なデータ型を手動で選択する必要があります。
重要: 実行時に無効なデータが生じないようにするため、ソース・データ型と互換性のあるデータ型を選択する必要があります。 例えば、ソース・データ型が INTEGER である場合、バッファー・テーブルに SMALLINT データ型を選択しないでください。これは、実行時に INTEGER 列に保管された大きい数値が SMALLINT データ型に正しく変換されないためです。
- サイズ - 表で定義された列のサイズ。 このサイズはデータベース表から取得され、構成することはできません。
- エンコード - デフォルトでは、データベース・レベルまたは表レベルのいずれかで設定された現在のデフォルト・エンコード。 列に必要なエンコードが現在のデフォルト・エンコードと異なる場合は、「エンコード」セルをクリックして、リストから別のエンコードを選択することによって、別のエンコードを選択します。
- ヌル可能 - デフォルトでは、ソース・データベース表内の列に対してヌル可能の設定。 nullable=false である場合は、列の「使用」チェック・ボックスが選択されている必要があります。
nullable=false とマークが付けられている列に、実行時にヌルを含めることはできません。
- 「リセット」をクリックすると、すべての列プロパティーがデフォルトに再設定されます。 これにより、すべての列の「使用」チェック・ボックスも再設定されます。
- 「最新表示」をクリックして、列のリストをソース・データベースの最新の状態に応じて更新します。 ソースに対する最近の変更が、このペインで更新されます。
- データベース・アクティビティーのための「配信ルール」の指定を構成します。
注: 「配信ルール」タスクで「1 回のみ」オプションを選択する場合は、実行時に統合アプライアンスで使用されるコントロール表を作成する必要があります。 Studio から統合アプライアンスにオーケストレーションを公開した後で、コントロール表を作成します。 プロジェクトをデプロイする前に、Web 管理コンソール (WMC) を使用して、コントロール表を作成します。
注: 「
1 回のみ」オプションを選択する場合は、
パーシスタンスを使用可能にする必要があります。
詳しくは、『
パーシスタンスを使用可能にする』を参照してください。
- 再試行オプションを構成します。 詳しくは、『インバウンド・データベース・アクティビティーの再試行オプション』を参照してください。
アクティビティーに対してターゲット・データベース表を指定する
- 「チェックリスト」で「表の選出 (Pick Table)」をクリックします。
「表の選出 (Pick Table)」ペインが表示されます。
- 「参照...」をクリックして、ターゲット・データベース表を選択します。 「データベース表の表示」ダイアログ・ボックスが表示されます。
- リストから表を選択し、「OK」をクリックします。
選択した表の列情報が「表の選出 (Pick Table)」ペインに表示されます。
- この表の文字エンコードがデータベースのエンコードと異なる場合、以下のオプションのいずれかを使用して、別のエンコードを入力します。
- 「エンコード」リストから、デフォルトのエンコード・タイプの 1 つを選択します。
- 「エンコード」フィールドをクリックしてエンコード・タイプを入力することにより、エンコード・タイプを直接入力します。
これにより、結果として生成されるバッファー・テーブルのすべての列にそのエンコードが設定されます。
- デフォルトで、ソース表内のすべての列が選択されます。 結果として生成されるバッファー・テーブルから列を削除するには、「使用」チェック・ボックスをクリアします。 選択されていない列は「入力のマップ」ペインに表示されず、実行時に更新されません。 「すべて使用」をクリックすると、すべての列がもう一度選択されます。
- 列見出しをクリックすると、その列の値で行がソートされます。 例えば、列名で行をソートするには、列の「列名」見出しをクリックします。 列見出し名の右側に矢印が表示されます。 上矢印は、列が a で始まり z へと続くアルファベット順でソートされていることを示します。
下矢印は、列が z で始まり a へと続く逆のアルファベット順でソートされていることを示します。矢印をクリックすると、アルファベットの順序が逆になります。
- 必要に応じて、「データ型」、「エンコード」、または「ヌル可能」値の設定を変更します。 新しく選択を行うフィールドをクリックします。
- データ型 - デフォルトでは、ソース・データベース表内の列のデータ型。 バッファー・テーブル内の列の必要なデータ型がソース表のデータ型と異なる場合は、「データ型」セルをクリックして、リストから別のデータ型を選択します。
「UNSUPPORTED」のマークが付けられているデータ型については、適切なデータ型を選択する必要があります。
注: Oracle データベースの XMLTYPE データ型と、SQL Server データベースの MONEY データ型については、Studio によって自動的には正しいデータ型が関連付けられないため、ユーザーが適切なデータ型を手動で選択する必要があります。
重要: 実行時に無効なデータが生じないようにするため、ソース・データ型と互換性のあるデータ型を選択する必要があります。 例えば、ソース・データ型が INTEGER である場合、バッファー・テーブルに SMALLINT データ型を選択しないでください。これは、実行時に INTEGER 列に保管された大きい数値が SMALLINT データ型に正しく変換されないためです。
- サイズ - 表で定義された列のサイズ。 このサイズはデータベース表から取得され、構成することはできません。
- エンコード - デフォルトでは、データベース・レベルまたは表レベルのいずれかで設定された現在のデフォルト・エンコード。 列に必要なエンコードが現在のデフォルト・エンコードと異なる場合は、「エンコード」セルをクリックして、リストから別のエンコードを選択することによって、別のエンコードを選択します。
- ヌル可能 - デフォルトでは、ソース・データベース表内の列に対してヌル可能の設定。 nullable=false である場合は、列の「使用」チェック・ボックスが選択されている必要があります。
nullable=false とマークが付けられている列に、実行時にヌルを含めることはできません。
- 「リセット」をクリックすると、すべての列プロパティーがデフォルトに再設定されます。 これにより、すべての列の「使用」チェック・ボックスも再設定されます。
- 「最新表示」をクリックして、列のリストをソース・データベースの最新の状態に応じて更新します。 ソースに対する最近の変更が、このペインで更新されます。
- 「行の更新」アクティビティーの場合のみ - 実行時に、「行の更新」アクティビティーをまず試行して、指定した行を更新する場合に、その行が存在しないときは、「行がまだ存在していない場合に行を挿入」チェック・ボックスを選択して、データベース表に行を挿入します。
- 「行の更新」アクティビティーの場合のみ - データベース内の新しい値と元の値の両方を保存する場合、以下の手順に従います。
- 「古い値 (Old Values)」をクリックします。 「更新用の古い値の列」ダイアログ・ボックスが表示されます。
- 元の値を保存するデータベース列の「保管 (Store)」チェック・ボックスを選択します。
- 実行時に元の値を保管する列に割り当てられているデフォルトの名前を変更することができます。 該当する「古い値を保管する列の名前」セルをダブルクリックします。
- 「OK」をクリックします。選択した列の先頭に old_ というストリングが付けられたものが、「出力のマップ」ペインの「アクティビティーへ」に表示されます。
「出力のマップ」ペインから、新しい値と元の値の両方にマップすることができます。
- 「行の更新」アクティビティーまたは「行の削除」アクティビティーの場合のみ - データベースによって既に定義されている 1 次キー列に加えて、1 次キー列のように機能する列を指定するには、以下の手順に従います。
- 「キー」をクリックします。 「1 次キーの構成」ダイアログ・ボックスが表示されます。
- 1 次キー列のように機能する列を指定するには、列をクリックしてから、「>>」をクリックします。
- 「OK」をクリックします。
注: 「チェックリスト」の「表の選出 (Pick Table)」タスクで 1 次キー列が (データベースによって定義されて) 指定されていない場合、1 次キー列のように機能する列として少なくとも 1 つの列を指定する必要があります。
1 次キー列のように機能する列をさらに指定するには、この手順を繰り返してください。
- データベース・アクティビティーのための「配信ルール」の指定を構成します。
注: 「配信ルール」タスクで「1 回のみ」オプションを選択する場合は、実行時に統合アプライアンスで使用されるコントロール表を作成する必要があります。 Studio から統合アプライアンスにオーケストレーションを公開した後で、コントロール表を作成します。 プロジェクトをデプロイする前に、Web 管理コンソール (WMC) を使用して、コントロール表を作成します。
注: 「
1 回のみ」オプションを選択する場合は、
パーシスタンスを使用可能にする必要があります。
詳しくは、『
パーシスタンスを使用可能にする』を参照してください。
- 再試行オプションを構成します。 詳しくは、『アウトバウンド・データベース・アクティビティーの再試行オプション』を参照してください。
アクティビティーの入力をマップする
- 「チェックリスト」から、「入力のマップ」タスクを選択します。
アクティビティーの入力パラメーターが、「アクティビティーへ」ペインの
row エレメントの下に表示されます。 「アクティビティーから」ペインに表示される入力パラメーターは、「
表の選出 (Pick Table)」タスクで選択した列に対応します。 「
配信ルール」で「
複数の行を 1 つのメッセージにまとめる」チェック・ボックスを選択した場合、複数オカレンスのシンボルが row エレメントの横に表示されます。
注: 「更新済み行の取得」アクティビティーの場合のみ、(「表の選出 (Pick Table)」タスクの)「更新用の古い値の列」ダイアログ・ボックスで列が選択されると、これらの追加出力パラメーター (デフォルトで old_ というストリングが接頭部として付けられます) も rows エレメントの下に表示されます。
- すべての入力パラメーターをマップします。 マッピングについての一般的な説明は、『マップの作成』を参照してください。 アクティビティーのすべての入力パラメーターをマップする必要があります。
アクティビティーの出力をマップする
- 「チェックリスト」から、「出力のマップ」タスクを選択します。
「
GetRowsCount」チェック・ボックスによって、以下のように「出力のマップ」ペインに表示される内容が決まります。
- 「配信ルール」で「行カウントの取得」チェック・ボックスをクリアすると、「出力のマップ」ペインはブランクになります。
- 「配信ルール」で「行カウントの取得」チェック・ボックスを選択すると、「出力のマップ」ペインに rowCount エレメントが表示されます。
「配信ルール」で「複数の行を 1 つのメッセージにまとめる」チェック・ボックスを選択すると、複数オカレンスのシンボルが rowCount エレメントの横に表示されます。
- RowCount 出力パラメーターが表示される場合、必要に応じて RowCount 出力パラメーターをマップします。
マッピングについての一般的な説明は、『マップの作成』を参照してください。 アクティビティーの出力パラメーターをマップする必要はありません。