0
在我們的環境中,案件有時會發生變化。 ID變成ID然後變成ID。區分大小寫SSIS
發生這種情況時,我的SSIS包(sql server 2008)失敗,因爲列名與預期不一樣。
這是一種重現問題的方法。在你的開發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
創建SSIS包用一個單一的數據流任務到添加指向CartoonCharacters一個OLE DB源和OLEDB目標指向ToonCharactes和連接綠色箭頭,並做列映射。
運行包並傳輸3行。
現在,在SSMS中,將CartoonCharacterID更改爲cartooncharacterid(全部小寫)。
嘗試再次運行包。它炸彈。 :(它說VS_NeedNewMetadata,這是當然的,因爲CASE改變。:(
有沒有辦法讓SSIS包元區分大小寫?
不,我不認爲有這個辦法。只需更新元數據。 – 2009-08-17 15:39:43