更改 SQL 列的数据类型时更新 SSIS 包
Posted
技术标签:
【中文标题】更改 SQL 列的数据类型时更新 SSIS 包【英文标题】:Updating SSIS Package when datatype for SQL column is changed 【发布时间】:2018-12-28 17:57:02 【问题描述】:我们必须更新 SQL 表中列的数据类型,该列在 SSIS 包中用作源。但是当我在更新数据类型后运行 SSIS 包时,由于数据类型不匹配而失败。
如何让 SSIS 包重新编译/重新验证源代码,使其不会失败?
【问题讨论】:
我假设您已经更新了源列,但没有更新数据流中的其余部分。您需要在数据流中更新列的数据类型的所有 外观。 如果无法隐式转换目标列类型(可能以前是int
,现在是date
),那么您还需要添加数据转换转换或派生列转型。
social.msdn.microsoft.com/Forums/sqlserver/en-US/…
【参考方案1】:
您需要打开 SSIS 包本身。从此时开始,转到使用此对象的任何组件,右键单击它并选择 Show Advanced Editor...,然后按 Connection Manager 窗格上的 Refresh 按钮以更新元数据。我还建议仔细检查任何列映射以验证数据类型和长度是否兼容。
【讨论】:
【参考方案2】:您可以打开现有包并运行数据转换,或者只需创建一个新包并用转换覆盖现有包。
【讨论】:
以上是关于更改 SQL 列的数据类型时更新 SSIS 包的主要内容,如果未能解决你的问题,请参考以下文章
更改 SQL Server DB 中列的数据类型时出错 - Java