在我们的环境中,有时情况会发生变化。ID变为ID,然后变形为ID。
发生这种情况时,我的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
创建一个带有单个数据流任务的SSIS包,向该任务添加一个指向卡通人物的OLE DB源和一个指向卡通人物的OLEDB目标,并连接绿色箭头并进行列映射。
运行包并传输3行。
现在,在SSMS中,将cartooncharterid更改为cartooncharterid(全部为小写)。
尝试再次运行包。炸弹爆炸了。:(上面说vs需要新的元数据。当然,这是因为情况发生了变化。:(
有办法做SSIS包吗
元数据
不区分大小写?