2011-12-28 10 views
1

私は変数からsqlコマンドで以下のクエリを使用して2つの異なるテーブルからデータを取得しています。外部カラム "y.col1"(598)を外部カラムから削除する必要があります

SELECT x.*, y.col1, y.col2 
FROM table1 AS x 
INNER JOIN table2 AS y ON y.AccID = x.accID 

は私のビジネスロジックを1として、私は、変数からSQLコマンドとしてクエリを使用する必要があります。 私はDelayValidationを設定した後、パッケージを実行すると、私は次のエラーを取得:

"[OLE source **table1**]] Warning: The external columns for component 
"OLE source" (1) are out of synchronization with the data source columns. 
The external column "**col2**" (601) needs to be removed from the external columns. 
The external column "**Col1**" (598) needs to be removed from the external columns.".. 

[SSIS.Pipeline] Error: "component "OLE source **table1** " (1)" failed validation 
and returned validation status "VS_NEEDSNEWMETADATA". 

答えて

2

あなたのSQLの変化があなたのOLEソース・コンポーネントの設定に影響を与えました。 SQLの出力に対して列の割り当てを再訪する必要があります。また、SSISコンポーネントを確認して、それに影響を与える変更があるかどうかを確認する必要があります。 SQLを変更するたびに、sql-column-to-component-columnの割り当てを再確認することを習慣にしてください。

Warning: The external columns for component "OLE source" (1) are out of synchronization with the data source columns.は、コンポーネントの変更が検出されたことを意味します。 DelayValidationをTRUEに設定すると、設計時にコンポーネントの検証は行われません。

The external column "**col2**" (601) needs to be removed from the external columns. The external column "**Col1**" (598) needs to be removed from the external columns."..あなたの割り当てが間違っている可能性のある方向を指すのに役立ちます。パッケージを実行する前に、列を減らしたり、いつか追加したりした可能性があります。これは、コンポーネントの検証の厳密さが行われるところです - SQLコマンド(この場合は列名)の大文字/小文字を変更しただけで、それだけで"VS_NEEDSNEWMETADATA"がトリガーされる可能性もあります。

また、コンポーネントの列の割り当てを再確認し、ソースコンポーネントの列設定のいずれかの部分を変更すると、出力先(場合によってはその間の他のデータ変換)にも影響します。

+1

あなたはチェックすることに言及していますが、どうすればエラーが消えますか?私は問題を解決するのに役立つたびにボタンがないようです。 –

関連する問題