ホームページ > データベース > mysql チュートリアル > SSIS で別のデータベースの結果に基づいて 1 つのデータベースをクエリする方法は?

SSIS で別のデータベースの結果に基づいて 1 つのデータベースをクエリする方法は?

Patricia Arquette
リリース: 2024-12-19 17:00:12
オリジナル
343 人が閲覧しました

How to Query One Database Based on Results from Another in SSIS?

別のデータベースの結果に基づいてデータベースをクエリする

SSIS では、複数のデータベースからデータを取得することが一般的なタスクになることがあります。この記事では、あるデータベースで別のデータベースから取得した結果に基づいてクエリを実行する 3 つの方法について説明します。

方法 1: ルックアップ変換を使用する

ルックアップ変換を追加して、最初のデータベースからの ID リスト。ルックアップ テーブルから少なくとも 1 つの列を選択します。ただし、ID リストに基づいて行をフィルタリングするには、次の操作を行う必要があります。

  • エラー処理を無視する行に設定すると、(ルックアップからの) null 値を持つ行が通過します。
  • 条件付き分割を使用して、null 以外の値を含む行をフィルタリングします。

メソッド2: スクリプト タスクを使用する

この方法を使用すると、すべてのデータのロードを回避できます。 VB.NET コードでスクリプト タスクを使用して ID リストを取得し、ユーザー変数に保存します。変数を後続のデータ フロー タスクのソースとして設定します。

方法 3: SQL 実行タスクを使用する

方法 2 と似ていますが、SQL 実行タスクを使用してIN句を構築します。次の SQL コマンドを実行して、ID リストとクエリを含む単一の結果セットを取得します。

DECLARE @str AS VARCHAR(4000)

SET @str = ''

SELECT @str = @str + CAST([ID] AS VARCHAR(255)) + ','
FROM dbo.MyTable 

SET @str = 'SELECT * FROM  MySecondDB WHERE ID IN (' + SUBSTRING(@str,1,LEN(@str) - 1) + ')'

SELECT @str
ログイン後にコピー

結果をユーザー変数に保存し、DataFlow タスク遅延検証プロパティを True に設定します。

これらの方法のいずれかを活用すると、別のデータベースから取得した結果に基づいてデータベースに効果的にクエリを実行でき、SSIS パッケージ内でより複雑なデータ操作を実行できるようになります。

以上がSSIS で別のデータベースの結果に基づいて 1 つのデータベースをクエリする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート