2009-08-17 33 views
0

私たちの環境では、ケースが変更されることがあります。 IDはIDになり、IDに変換されます。大文字小文字の区別SSIS

この場合、列名が期待どおりでないため、SSISパッケージ(SQL Server 2008)が失敗します。

ここに問題を再現する方法があります。あなたのDev SQL Serverで、次のテーブルを作成します。

DROP Table dbo.CartoonCharacters 
Go 
Create Table dbo.CartoonCharacters 
(
    CartoonCharacterID INT, 
    CartoonCharacterName VarChar (100) 
) 

DROP Table dbo.ToonCharacters 
Go 
Create Table dbo.ToonCharacters 
(
    ToonCharacterID INT, 
    ToonCharacterName VarChar (100) 
) 

INSERT INTO dbo.CartoonCharacters VALUES 
(1, 'Don Duck') 
,(2, 'Mike Mouse') 
,(3, 'Rog Rabbit') 
GO 

はCartoonCharactersを指すOLE DBソースとToonCharactesを指すOLEDB先を追加するために、単一のデータフロータスクとSSISパッケージを作成し、接続緑の矢印をクリックし、列のマッピングを行います。

パッケージを実行すると3行が転送されます。

ここで、SSMSでは、CartoonCharacterIDをcartooncharacterid(すべて小文字)に変更します。

パッケージをもう一度実行してください。それは爆弾です。 CASEが変更されたため:(それはVS_NeedNewMetadataは言う。これは、もちろん、である。:(

は鈍感なSSISパッケージ メタデータケースを作るための方法はありますか?

+1

いいえ、私はこれを回避する方法はないと思います。メタデータを更新するだけです。 –

答えて

0

あなたは上のケースを変更し回避することができますテーブルの上に

  1. ビュー
  2. 列をリストし、SQLステートメントからデータを取得することで基本テーブル。
関連する問題