クライアントインターフェイスガイド > TDV用TIBCOSSISコンポーネント > SSISコンポーネントの使用 > ソースコンポーネントの使用
 
ソースコンポーネントの使用
データソースへの接続の確立の後、TIBCO TDVソースコンポーネントを使用して、データをデータフロータスクにプルできます。
ソースコンポーネントを使用したTDVデータのクエリ
以下の手順に従って、TDVに接続し、データを取得して、ワークフロー内の他のコンポーネントにデータを提供します。
1. SSISツールボックスで、TIBCOTDVソースコンポーネントをデータフロータスクにドラッグします。
2. TIBCOTDVソースコンポーネントをダブルクリックします。 TIBCOTDVソースエディタが表示されます。
3. [接続マネージャー]メニューで、使用可能なTIBCO TDV接続マネージャーを選択するか、まだ使用できない場合は新しいインスタンスを作成します。
4. アクセスモードを選択します:「テーブルまたはビュー」または「SQLステートメント」。 GUIを使用してテーブルまたはビューを選択するには、[テーブルまたはビュー]を選択します。 「SQLステートメント」を選択して、選択したステートメントを構成します。
5. [列]タブを選択し、必要に応じて出力列の名前を変更します。
データフローを実行すると、選択したテーブルまたはステートメントの行がデータフローのコンポーネントで使用できるようになります。
パラメータ化されたクエリの使用
パラメータ化されたステートメントは、クエリを動的に実行し、SQLインジェクション攻撃を軽減する効率的な方法を提供します。ソースコンポーネントには、カスタムSQLコマンドを使用するときに、クエリで定義されたパラメーターをデータフロー内の変数にマップするために使用できる[パラメーター]ボタンがあります。コンポーネントは、実行時にこれらのクエリをパラメータ化されたステートメントとして実行します。
[パラメータ]オプションを使用するには、クエリにパラメータが含まれている必要があります。パラメータは、名前付きパラメータとして位置的に定義できます。
位置パラメータ:パラメータマッピングを設定する場合、パラメータリストの名前はそのパラメータのインデックス(1から始まる)である必要がありますクエリで。クエリの例:
SELECT * FROM Table WHERE FirstName = ? AND Date > ?
ここで、パラメータ名は、「FirstName」と「Date」に対してそれぞれ「1」と「2」に設定する必要があります。
名前付きパラメータ:パラメータマッピングを設定する場合、パラメータリストの名前は、クエリ内のパラメータの名前と完全に一致する必要があります。前の「@」記号。クエリの例:
SELECT * FROM Table WHERE FirstName = @FirstName AND Date > @Date
ここで、パラメータ名は「FirstName」および「Date」に設定する必要があります。
式ビルダーでパラメーター化されたクエリの作成
ソースコンポーネントを構成した後、SSIS式ビルダーを使用して、実行時にソースコンポーネントが実行するSQLステートメントにアクセスできます。
コンポーネントは、これらのクエリをパラメータ化されたステートメントとして実行します。パラメータ化されたステートメントは、同様のクエリを実行し、SQLインジェクション攻撃を軽減する効率的な方法を提供します。
1. SSIS Designerで、[制御フロー]タブをクリックします。
2. [プロパティ]ペインで、[式]プロパティのボックスにあるボタンをクリックします。
3. 表示されるプロパティ式エディターで、[プロパティ]ボックスの空の行をクリックし、ドロップダウンメニューからTIBCOTDVソースコンポーネントのSQLStatementプロパティを選択します。次に、追加した行のボタンをクリックします。これにより、式ビルダーが表示されます。
4. [式]ボックスで、実行時に使用可能な変数を入力パラメーターとして使用する新しいSQLコマンドを作成できます。式は必ず引用符で囲んでください。例えば:
 
"SELECT * FROM Table WHERE FirstName = '" + @[User::Name] + "' AND Date > '" + (DT_WSTR, 50) DATEADD("day", -30, GETDATE()) + "'"