フル キャッシュ モードの参照変換 - キャッシュ接続マネージャー

適用対象: SQL Server Azure Data Factory の SSIS Integration Runtime

フル キャッシュ モードおよびキャッシュ接続マネージャーを使用するように参照変換を構成できます。 フル キャッシュ モードでは、参照変換の実行前に参照データセットがキャッシュに読み込まれます。

Note

キャッシュ接続マネージャーでは、バイナリ ラージ オブジェクト (BLOB) データ型 DT_TEXT、DT_NTEXT、および DT_IMAGE はサポートされません。 参照データセットに BLOB データ型が含まれている場合、パッケージを実行するとコンポーネントは失敗します。 [キャッシュ接続マネージャー エディター] を使用して、列のデータ型を変更できます。 詳細については、「 キャッシュ接続マネージャー エディター」を参照してください。

参照変換は、接続されているデータ ソースの入力列のデータを参照データセットの列と結合することにより参照を実行します。 詳細については、「 Lookup Transformation」を参照してください。

参照データセットを生成するには、次のいずれかを使用します。

  • キャッシュ ファイル (.caw)

    既存のキャッシュ ファイルからデータを読み取るようにキャッシュ接続マネージャーを構成します。

  • データ フロー内の接続されているデータ ソース

    キャッシュ変換を使用して、データ フロー内の接続されているデータ ソースのデータをキャッシュ接続マネージャーに書き込みます。 データは常にメモリに格納されます。

    参照変換は、別のデータ フローに追加する必要があります。 これにより、参照変換を実行する前に、キャッシュ変換でキャッシュ接続マネージャーにデータを設定できます。 データ フローは、同じパッケージに含まれていても、2 つの異なるパッケージに含まれていてもかまいません。

    データ フローが同じパッケージに含まれている場合は、優先順位制約を使用してデータ フローを接続します。 これにより、参照変換を実行する前にキャッシュ変換を実行できます。

    データ フローが異なるパッケージに含まれている場合は、パッケージ実行タスクを使用して、親パッケージから子パッケージを呼び出すことができます。 複数の子パッケージを呼び出すには、親パッケージ内のシーケンス コンテナー タスクに複数のパッケージ実行タスクを追加します。

次のいずれかの方法を使用して、キャッシュに格納された参照データセットを複数の参照変換で共有できます。

  • 単一のパッケージ内の参照変換で同じキャッシュ接続マネージャーが使用されるように構成します。

  • 異なるパッケージ内のキャッシュ接続マネージャーで同じキャッシュ ファイルが使用されるように構成します。

詳細については、次のトピックを参照してください。

キャッシュ接続マネージャーを使用してフル キャッシュ モードで参照変換を実装する方法のデモ ビデオについては、「 フル キャッシュ モードで参照変換を実装する方法 (SQL Server ビデオ)」を参照してください。

キャッシュ接続マネージャーおよびデータ フロー内のデータ ソースを使用して 1 つのパッケージでフル キャッシュ モードの参照変換を実装するには

  1. SQL Server Data Tools (SSDT)で、 Integration Services プロジェクトを開いてからパッケージを開きます。

  2. [制御フロー] タブで、2 つのデータ フロー タスクを追加し、緑色のコネクタを使用してタスクを接続します。

  3. 最初のデータ フローでキャッシュ変換を追加し、変換をデータ ソースに接続します。

    必要に応じて、データ ソースを構成します。

  4. キャッシュ変換をダブルクリックし、 [キャッシュ変換エディター][接続マネージャー] ページで [新規作成] をクリックして、新しい接続マネージャーを作成します。

  5. [キャッシュ接続マネージャー エディター] ダイアログ ボックスの [列] タブをクリックし、 [インデックス位置] オプションを使用して、インデックス列として使用する列を指定します。

    インデックス以外の列の場合、インデックス位置は 0 です。 インデックス列の場合、インデックスの位置は連続した正の数になります。

    Note

    参照変換がキャッシュ接続マネージャーを使用するように構成されている場合、参照データセット内のインデックス列のみ入力列にマップできます。 また、すべてのインデックス列をマップする必要があります。 詳細については、「 キャッシュ接続マネージャー エディター」を参照してください。

  6. キャッシュをファイルに保存するには、 [キャッシュ接続マネージャー エディター][全般] タブで、次のオプションを設定してキャッシュ接続マネージャーを構成します。

    • [ファイル キャッシュを使用する] をオンにします。

    • [ファイル名]にファイル パスを入力するか、 [参照] をクリックしてファイルを選択します。

      存在していないファイルのパスを入力した場合、パッケージを実行するとそのファイルが作成されます。

    Note

    パッケージの保護レベルは、キャッシュ ファイルに適用されません。 キャッシュ ファイルに機密情報が含まれている場合は、アクセス制御リスト (ACL) を使用して、ファイルを格納している場所またはフォルダーへのアクセスを制限します。 特定のアカウントに対してのみアクセスを有効にする必要があります。 詳細については、「 パッケージで使用されるファイルへのアクセス」を参照してください。

  7. 必要に応じてキャッシュ変換を構成します。 詳細については、「キャッシュ変換エディター ([接続マネージャー] ページ)」および「キャッシュ変換エディター ([マッピング] ページ)」を参照してください。

  8. 2 番目のデータ フローで参照変換を追加し、次のタスクを実行して変換を構成します。

    1. 参照変換をデータ フローに連結します。連結するには、変換元または前の変換から参照変換にコネクタをドラッグします。

      Note

      参照変換が空の日付フィールドを含むフラット ファイルに接続される場合、その変換は検証されないことがあります。 変換が検証されるかどうかは、フラット ファイルの接続マネージャーが NULL 値を保持するように構成されているかどうかによって決まります。 参照変換が検証されるようにするには、 フラット ファイル ソース エディター[接続マネージャー]ページで、 [データ ソースの NULL 値をデータ フローで NULL 値として保持する] オプションを選択します。

    2. 変換元または前の変換をダブルクリックして、コンポーネントを構成します。

    3. 参照変換をダブルクリックし、 参照変換エディター[全般] ページで [フル キャッシュ]を選択します。

    4. [接続の種類] 領域で、 [キャッシュ接続マネージャー]を選択します。

    5. [一致するエントリがない行の処理方法の指定] 一覧から、エラー処理オプションを選択します。

    6. [接続] ページで、 [キャッシュ接続マネージャー] 一覧からキャッシュ接続マネージャーを選択します。

    7. [列] ページをクリックし、 [使用できる入力列] 一覧の 1 列以上を [使用できる参照列] 一覧の列にドラッグします。

      Note

      参照変換は、同じ名前で同じデータ型を持つ列を自動的にマップします。

      Note

      列をマップするには、データ型が一致している必要があります。 詳細については、「 Integration Services Data Types」を参照してください。

    8. [使用できる参照列] 一覧で列を選択します。 次に、 [参照操作] 一覧で、参照列の値を入力列の値と置き換えるか、新しい列に書き出すかを指定します。

    9. エラー出力を構成するには、 [エラー出力] ページをクリックし、エラー処理オプションを設定します。 詳細については、「[参照変換エディター] ([エラー出力] ページ)」をご覧ください。

    10. [OK] をクリックして、参照変換への変更を保存します。

  9. パッケージを実行します。

キャッシュ接続マネージャーおよびデータ フロー内のデータ ソースを使用して 2 つのパッケージでフル キャッシュ モードの参照変換を実装するには

  1. SQL Server Data Tools (SSDT)で、 Integration Services プロジェクトを開き、2 つのパッケージを開きます。

  2. 各パッケージの [制御フロー] タブで、データ フロー タスクを追加します。

  3. 親パッケージで、データ フローにキャッシュ変換を追加し、変換をデータ ソースに接続します。

    必要に応じて、データ ソースを構成します。

  4. キャッシュ変換をダブルクリックし、 [キャッシュ変換エディター][接続マネージャー] ページで [新規作成] をクリックして、新しい接続マネージャーを作成します。

  5. [キャッシュ接続マネージャー エディター][全般] タブで、次のオプションを設定してキャッシュ接続マネージャーを構成します。

    • [ファイル キャッシュを使用する] をオンにします。

    • [ファイル名]にファイル パスを入力するか、 [参照] をクリックしてファイルを選択します。

      存在していないファイルのパスを入力した場合、パッケージを実行するとそのファイルが作成されます。

    Note

    パッケージの保護レベルは、キャッシュ ファイルに適用されません。 キャッシュ ファイルに機密情報が含まれている場合は、アクセス制御リスト (ACL) を使用して、ファイルを格納している場所またはフォルダーへのアクセスを制限します。 特定のアカウントに対してのみアクセスを有効にする必要があります。 詳細については、「 パッケージで使用されるファイルへのアクセス」を参照してください。

  6. [列] タブをクリックし、 [インデックス位置] オプションを使用して、インデックス列として使用する列を指定します。

    インデックス以外の列の場合、インデックス位置は 0 です。 インデックス列の場合、インデックスの位置は連続した正の数になります。

    Note

    参照変換がキャッシュ接続マネージャーを使用するように構成されている場合、参照データセット内のインデックス列のみ入力列にマップできます。 また、すべてのインデックス列をマップする必要があります。 詳細については、「 キャッシュ接続マネージャー エディター」を参照してください。

  7. 必要に応じてキャッシュ変換を構成します。 詳細については、「キャッシュ変換エディター ([接続マネージャー] ページ)」および「キャッシュ変換エディター ([マッピング] ページ)」を参照してください。

  8. 次のいずれかの操作を実行し、2 番目のパッケージで使用されるキャッシュ接続マネージャーにデータを設定します。

    • 親パッケージを実行します。

    • 手順 4. で作成したキャッシュ接続マネージャーをダブルクリックし、 [列]をクリックして、行を選択し、Ctrl キーを押しながら C キーを押して列のメタデータをコピーします。

  9. 子パッケージで、キャッシュ接続マネージャーを作成します。その場合、 [接続マネージャー] 領域内を右クリックして [新しい接続]をクリックし、 [SSIS 接続マネージャーの追加] ダイアログ ボックスで [CACHE] を選択し[追加]をクリックします。

    デザイナーの [制御フロー] タブ、[データ フロー] タブ、および[イベント ハンドラー] タブの下部に、 [接続マネージャー] Integration Services 領域が表示されます。

  10. [キャッシュ接続マネージャー エディター][全般] タブで、次のオプションを設定して選択したキャッシュ ファイルからデータを読み取るようにキャッシュ接続マネージャーを構成します。

    • [ファイル キャッシュを使用する] をオンにします。

    • [ファイル名]にファイル パスを入力するか、 [参照] をクリックしてファイルを選択します。

    Note

    パッケージの保護レベルは、キャッシュ ファイルに適用されません。 キャッシュ ファイルに機密情報が含まれている場合は、アクセス制御リスト (ACL) を使用して、ファイルを格納している場所またはフォルダーへのアクセスを制限します。 特定のアカウントに対してのみアクセスを有効にする必要があります。 詳細については、「 パッケージで使用されるファイルへのアクセス」を参照してください。

  11. 手順 8. で列のメタデータをコピーした場合、 [列]をクリックして空白行を選択し、Ctrl キーを押しながら V キーを押して列のメタデータを貼り付けます。

  12. 参照変換を追加し、次の操作を行って変換を構成します。

    1. 参照変換をデータ フローに連結します。連結するには、変換元または前の変換から参照変換にコネクタをドラッグします。

      Note

      参照変換が空の日付フィールドを含むフラット ファイルに接続される場合、その変換は検証されないことがあります。 変換が検証されるかどうかは、フラット ファイルの接続マネージャーが NULL 値を保持するように構成されているかどうかによって決まります。 参照変換が検証されるようにするには、 フラット ファイル ソース エディター[接続マネージャー]ページで、 [データ ソースの NULL 値をデータ フローで NULL 値として保持する] オプションを選択します。

    2. 変換元または前の変換をダブルクリックして、コンポーネントを構成します。

    3. 参照変換をダブルクリックし、 [参照変換エディター][全般] ページで [フル キャッシュ]を選択します。

    4. [接続の種類] 領域で、 [キャッシュ接続マネージャー] を選択します。

    5. [一致するエントリがない行の処理方法の指定] 一覧で、一致するエントリがない行のエラー処理オプションを選択します。

    6. [接続] ページの [キャッシュ接続マネージャー] 一覧から、追加したキャッシュ接続マネージャーを選択します。

    7. [列] ページをクリックし、 [使用できる入力列] 一覧の 1 列以上を [使用できる参照列] 一覧の列にドラッグします。

      Note

      参照変換は、同じ名前で同じデータ型を持つ列を自動的にマップします。

      Note

      列をマップするには、データ型が一致している必要があります。 詳細については、「 Integration Services Data Types」を参照してください。

    8. [使用できる参照列] 一覧で列を選択します。 次に、 [参照操作] 一覧で、参照列の値を入力列の値と置き換えるか、新しい列に書き出すかを指定します。

    9. エラー出力を構成するには、 [エラー出力] ページをクリックし、エラー処理オプションを設定します。 詳細については、「[参照変換エディター] ([エラー出力] ページ)」をご覧ください。

    10. [OK] をクリックして、参照変換への変更を保存します。

  13. 親パッケージを開き、パッケージ実行タスクを制御フローに追加して、子パッケージを呼び出すようにタスクを構成します。 詳細については、「 パッケージ実行タスク」を参照してください。

  14. パッケージを実行します。

キャッシュ接続マネージャーおよび既存のキャッシュ ファイルを使用してフル キャッシュ モードの参照変換を実装するには

  1. SQL Server Data Tools (SSDT)で、 Integration Services プロジェクトを開いてからパッケージを開きます。

  2. [接続マネージャー] 領域内を右クリックし、 [新しい接続]をクリックします。

    デザイナーの [制御フロー] タブ、[データ フロー] タブ、および[イベント ハンドラー] タブの下部に、 [接続マネージャー] Integration Services 領域が表示されます。

  3. [SSIS 接続マネージャーの追加] ダイアログ ボックスで [CACHE]を選択し、 [追加] をクリックしてキャッシュ接続マネージャーを追加します。

  4. キャッシュ接続マネージャーをダブルクリックして、 [キャッシュ接続マネージャー エディター]を開きます。

  5. [キャッシュ接続マネージャー エディター][全般] タブで、次のオプションを設定してキャッシュ接続マネージャーを構成します。

    • [ファイル キャッシュを使用する] をオンにします。

    • [ファイル名]にファイル パスを入力するか、 [参照] をクリックしてファイルを選択します。

    Note

    パッケージの保護レベルは、キャッシュ ファイルに適用されません。 キャッシュ ファイルに機密情報が含まれている場合は、アクセス制御リスト (ACL) を使用して、ファイルを格納している場所またはフォルダーへのアクセスを制限します。 特定のアカウントに対してのみアクセスを有効にする必要があります。 詳細については、「 パッケージで使用されるファイルへのアクセス」を参照してください。

  6. [列] タブをクリックし、 [インデックス位置] オプションを使用して、インデックス列として使用する列を指定します。

    インデックス以外の列の場合、インデックス位置は 0 です。 インデックス列の場合、インデックスの位置は連続した正の数になります。

    Note

    参照変換がキャッシュ接続マネージャーを使用するように構成されている場合、参照データセット内のインデックス列のみ入力列にマップできます。 また、すべてのインデックス列をマップする必要があります。 詳細については、「 キャッシュ接続マネージャー エディター」を参照してください。

  7. [制御フロー] タブで、データ フロー タスクをパッケージに追加し、参照変換をデータ フローに追加します。

  8. 次の操作を実行して参照変換を構成します。

    1. 参照変換をデータ フローに連結します。連結するには、変換元または前の変換から参照変換にコネクタをドラッグします。

      Note

      参照変換が空の日付フィールドを含むフラット ファイルに接続される場合、その変換は検証されないことがあります。 変換が検証されるかどうかは、フラット ファイルの接続マネージャーが NULL 値を保持するように構成されているかどうかによって決まります。 参照変換が検証されるようにするには、 フラット ファイル ソース エディター[接続マネージャー]ページで、 [データ ソースの NULL 値をデータ フローで NULL 値として保持する] オプションを選択します。

    2. 変換元または前の変換をダブルクリックして、コンポーネントを構成します。

    3. 参照変換をダブルクリックし、 参照変換エディター[全般] ページで [フル キャッシュ]を選択します。

    4. [接続の種類] 領域で、 [キャッシュ接続マネージャー] を選択します。

    5. [一致するエントリがない行の処理方法の指定] 一覧で、一致するエントリがない行のエラー処理オプションを選択します。

    6. [接続] ページの [キャッシュ接続マネージャー] 一覧から、追加したキャッシュ接続マネージャーを選択します。

    7. [列] ページをクリックし、 [使用できる入力列] 一覧の 1 列以上を [使用できる参照列] 一覧の列にドラッグします。

      Note

      参照変換は、同じ名前で同じデータ型を持つ列を自動的にマップします。

      Note

      列をマップするには、データ型が一致している必要があります。 詳細については、「 Integration Services Data Types」を参照してください。

    8. [使用できる参照列] 一覧で列を選択します。 次に、 [参照操作] 一覧で、参照列の値を入力列の値と置き換えるか、新しい列に書き出すかを指定します。

    9. エラー出力を構成するには、 [エラー出力] ページをクリックし、エラー処理オプションを設定します。 詳細については、「[参照変換エディター] ([エラー出力] ページ)」をご覧ください。

    10. [OK] をクリックして、参照変換への変更を保存します。

  9. パッケージを実行します。

参照

OLE DB 接続マネージャーを使用してフル キャッシュ モードの参照変換を実装する
キャッシュなしモードまたは部分キャッシュ モードの参照を実装する
Integration Services の変換