SQL 実行タスクの使用
データソースに接続の確立 したら、CData Microsoft Dynamics 365 Business Central Task を使用して、制御フローレベルでストアドプロシージャとSQL クエリを実行できます。
Microsoft Dynamics 365 Business Central Task でMicrosoft Dynamics 365 Business Central データをクエリ
Microsoft Dynamics 365 Business Central に接続してカスタムSQL クエリを制御フローレベルで実行するには、次の手順を実行してください。一般的な使用例は、ワークフローを実行する前にテーブルデータを切り捨てるか、ストアドプロシージャを実行する方法です。- SSIS ツールボックスで、CData Microsoft Dynamics 365 Business Central Task をコントロールフローにドラッグします。
- CData Microsoft Dynamics 365 Business Central Task をダブルクリックします。CData Microsoft Dynamics 365 Business Central Task が開きます。
- [接続]ドロップダウンリストで、有効なCData Microsoft Dynamics 365 Business Central 接続マネージャーを選択するか、まだない場合は新しいインスタンスを作成します。
- 実行するクエリを設定します。これを制御する3つのプロパティがあります。
- SQLSourceType: クエリをどこから取得するか。CData Microsoft Dynamics 365 Business Central Task UI に直接入力するか、またはパッケージ内の変数から取得するかのいずれかです。
- CommandType: 実行するコマンドのタイプ。オプションは、Table、Stored Procedure、またはCommand Text です。最初の2つでは、Task は実行するオブジェクトの名前のみ想定しています。Command Text オプションを使うと、好きなSQL コマンドを実行できます。
- 最後のオプションは、上の2つの設定に設定した値に基づくコンテキスト固有のものです。
- 次のセクションで説明するように、必要に応じて、パラメータや結果セットを割当てることができます。
サポートされているSQL 構文および例については、SELECT ステートメント を参照してください。
パラメータマッピングの定義
パラメータは、Stored Procedure とCommand Text CommandTypes で使用できます。[パラメータマッピング]タブで、必要な数のパラメータを追加します。Stored Procedure オプションを使用する場合、[Parameter Name]はストアドプロシージャで定義されているパラメータ名と完全に一致する必要があります。Command Text オプションでは、名前はSQL コマンドで使用されている名前と一致する必要があります。選択したDirection に応じて、変数を読み取りまたは書き込みのいずれかに割り当てることができます。利用可能なDirection オプションは以下のとおりです。- Input: 呼び出しを実行するときにSSIS 変数から値が読み出されることを示します。
- Output: 値がコマンド呼び出しから返され、パッケージ内で後で使用するためにローカル変数に格納されることを示します。
- InOut: 上記の組み合わせ。クエリが実行されると値が読み出され、実行が完了すると戻り値が既存の値を上書きします。
結果セットの設定
パッケージで後にクエリ結果が必要な場合は、結果セットを設定できます。オプションは2つあります。Single Row とFull ResultSet です。それぞれ、タスクによる値の出力方法とUI の[結果セット]タブでの出力の定義方法に影響します。ストアドプロシージャを使用する場合、結果セットを設定する代わりに、OUT またはIN/OUT パラメータを定義することができます。- Single Row: 単一行が返されたら、ResultSet Name をクエリするカラムのインデックス(例、0、1、2、など)に設定する必要があります。Variable Name は、出力カラムとして正しいデータ型であるSSIS の変数にマップする必要があります。
- Full ResultSet: Full ResultSet オプションでは、クエリから返された完全なデータを含むDataTable である単一の値のみが返されます。ResultSet Name は0 に設定する必要があります。SSIS Variable Name は、Object 型の変数に設定する必要があります。クエリから複数のResultSets が返される場合、Task は現在、最初の出力のみをサポートしていることに注意してください。