区分大小写的SSIS

时间:2009-08-17 14:01:06

标签: sql sql-server ssis

在我们的环境中,有时情况会发生变化。 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包,向其中添加指向CartoonCharacters的OLE DB源和指向ToonCharactes的OLEDB目标,并连接绿色箭头并执行列映射。

运行包并传输3行。

现在,在SSMS中,将CartoonCharacterID更改为cartooncharacterid(全部小写)。

尝试再次运行该程序包。它炸弹了。 :(它说VS_NeedNewMetadata。当然,这是因为CASE改变了。:(

有没有办法让SSIS包 元数据 不区分大小写?

1 个答案:

答案 0 :(得分:0)

您可以通过从

获取数据来解决基表更改案例的问题
  1. 查看表格
  2. 列出列的SQL语句。