外部結果セットに基づいたデータベース クエリの実行
VS 2013 内の SSIS では、次のリストを取得する必要があるシナリオが発生する場合があります。あるデータベースから ID を取得し、その後このリストを使用して別のデータベースをクエリします。このシナリオは、さまざまなアプローチを使用して対処できます。
方法 1: ルックアップ変換を使用する
ルックアップ変換を利用して、一致基準に基づいて別のテーブルから特定の列を取得します。 。ただし、このメソッドは行をフィルター処理せず、2 番目のテーブルから値を追加するだけです。 ID リストに基づいて行をフィルター処理するには、ルックアップ変換でエラー出力を管理することを検討してください。これにより、行を無視したり、フィルタリング目的で行をエラー出力にリダイレクトしたりすることができます。
方法 2: スクリプト タスクを使用する
すべてのデータがメモリにロードされないようにするため、後続のフィルタリングでは、スクリプト タスクを利用して目的のクエリを動的に構築します。この方法では、最初のデータベースから取得した ID のリストを使用して WHERE IN 句を作成できます。
方法 3: SQL 実行タスクを使用する
2 番目と同様メソッドと同様に、SQL 実行タスクを使用すると、SQL コマンドを使用して IN 句を動的に作成できます。結果として得られる SQL ステートメントは、DataFlow タスクの OLEDB ソースとして使用できます。
これらのメソッドにはさまざまなパフォーマンス上の考慮事項とメモリ消費量があることに注意することが重要です。シナリオの特定の要件と関係するデータ量に基づいて、最も適切なアプローチを選択してください。
以上がSSIS で別のデータベースの結果に基づいてデータベースを効率的にクエリするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。