Noob SSIS 请提问。我正在编写一个简单的数据库转换脚本。原始数据源将电话号码以 len = 50 的字符串形式保存在名为 Phone1 的列中。目标表将电话号码以 len = 20 的字符串形式保存在名为 Telephone 的列中。我不断收到此警告:
[110]] Warning: Truncation may occur due to inserting data from data flow column "Phone1" with a length of 50 to database column "Telephone" with a length of 20.
我尝试了一些方法,包括添加派生列任务以将 Phone1 转换为长度 = 20 - (DT_WSTR, 20) (SubString(Phone1, 1, 20)) 的 DT_WSTR 字符串,并添加要转换的 DataConversion 任务将字段 Phone1 从 WT_WSTR(50) 转换为 WT_WSTR(20),但它们都不起作用。我知道我可以在 SQL 字符串 @ OLEDB 源中 SubStrphone1 但我很想知道 SSIS 如何处理这种情况
最佳答案
根本原因 - 当源列的数据类型长度大于目标列的数据类型长度时,SSIS 数据流任务中会出现此警告消息。
解决方案 - 为了从 SSIS 解决方案中删除此警告消息,请确保源列的数据类型长度应等于目标列的数据类型长度。
关于sql - 将数据从最大长度为 50 的字符串移动到最大长度为 20 的字符串时,SSIS 截断警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21152009/