0

SSISを使用して、あるDBから別の既存のDBにデータをインポートしています。宛先テーブルの一部の列がソーステーブルに存在しません。インポートとエクスポートウィザードでは、ソースからマップされていない列を選択し、それらを宛先のこれらの新しい列と一致させることしかできないようです。これらの新しい列のすべての行にインポートするデータを1つだけ提供できるようにしたいと思います。スクリプトを書くのが苦手なので、できればGUIを使いたいです。ありがとう!

4

3 に答える 3

2

SSIS では、必要な値 (文字列または式) を含む列をバッファー行に追加する "派生列" コンポーネントを追加できます。

于 2012-09-04T17:08:28.753 に答える
1

ソースを選択クエリに変更し、マップする静的な値とともに列を一覧表示できます。

SELECT SOURCECOLUMN_1,SOURCECOLUMN_2,....,SOURCECOLUMN_N,'VALUE' AS DESTINATIONCOLUMN FROM Source_Table

私の最初の考えは、インポート & エクスポート ウィザードでクエリを正しく使用できるというものでした。パッケージに入って編集すれば、明らかにもっと多くのことができますが、それについてはあまり経験がないように思えました。ウィザードでこれを行う方法を次に示します。

ソース データベースと宛先データベースを選択したら、テーブル コピーまたはクエリを指定できます。[転送するデータを指定するクエリを作成する] オプション を選択します。テーブル コピーまたはクエリの指定

次の画面で、すべての列をリストするクエリを入力し、静的列を追加します。 クエリ画面

次の画面で、宛先テーブルを選択する必要があります。そうしないと、デフォルトでQueryという名前の新しいテーブルが作成されます。ドロップダウンから選択できるはずです。余分な列を同じ名前でエイリアスしている限り、正しくマップする必要があります。必要に応じて、ここでマッピングを編集できます。 行き先

次に、SSIS パッケージを保存すると、クエリからソースが作成されます。

または、余分な列を含まない SSIS パッケージを既に作成している場合は、データ フローに移動し、OLE DB ソースのデータ アクセス モードをテーブルまたはビューではなく SQL コマンドに変更できます。ここにクエリを追加します。

ここに画像の説明を入力

次に、データフローの OLE DB 宛先のプロパティに移動して、新しい列をマップできます。派生列タスクを追加し、ここに静的情報を配置してからマッピングすることにより、派生列を @DominicGoulet として追加することもできます。その解決策も見たい場合は、私に知らせてください。

于 2012-09-04T14:27:15.977 に答える