SQL Server 2005 中 Integration Services 功能的重大更改

新建日期: 2006 年 7 月 17 日

本主题介绍自 SQL Server 2005 的初次发布之后对 SQL Server 2005 Integration Services (SSIS) 所做的一些更改,这些更改可导致基于早期版本的 Integration Services 的应用程序无法继续使用。

以前可以成功实现的列转换现在可能无法实现

应用 SQL Server 2005 Integration Services (SSIS) Service Pack 1 (SP1) 之后,列转换有可能在以下情况下无法实现:

列转换 问题说明

从字符串转换为无符号整数

如果字符串列(DT_STR 或 DT_WSTR)中有负数,并且将列数据类型转换为无符号整数数据类型(DT_UI1、DT_UI2、DT_UI4 或 DT_UI8)时,以前能成功运行该包,并且能将负数转换为 0,那么,在应用了 SP1 后,该包不再将负数转换为 0,而是返回错误,并且该包可能失败。

适用于:查找转换、模糊查找转换、模糊分组转换和平面文件源。

由字符串转换为二进制

如果字符串列 (DT_STR 或 DT_WSTR) 中存在不能被转换为字节数组的字符,并且列数据类型转换为 DT_BYTES 数据类型,则数据可能会在没有任何提示的情况下被损坏,即该列中的值将被转换为零数组。SP1 安装将 UseBinaryFormat 属性添加到平面文件源中,以帮助解释二进制数据。应用 SP1 之后,UseBinaryFormat 设置为 False(默认值)时,如果列中包含无法转换的字符,则转换将生成一个错误,且以前可以成功运行的包现在无法运行。

适用于:平面文件源。