【问题标题】:SSIS Truncate Warning when moving data from a string max length 50 to a string max length 20将数据从最大长度为 50 的字符串移动到最大长度为 20 的字符串时出现 SSIS 截断警告
【发布时间】:2014-01-16 01:52:08
【问题描述】:

请教菜鸟 SSIS 问题。我正在研究一个简单的数据库转换脚本。原始数据源在名为 Phone1 的列中将电话号码保存为 len = 50 的字符串。目标表在名为 Telephone 的列中将电话号码保存为 len = 20 的字符串。我不断收到此警告:

[110]] 警告:由于从数据中插入数据,可能会发生截断 流向数据库列的长度为 50 的“Phone1”列 长度为20的“电话”。

我尝试了一些方法,包括添加派生列任务以将 Phone1 转换为长度为 20 - (DT_WSTR, 20) (SubString(Phone1, 1, 20)) 的 DT_WSTR 字符串,并添加要转换的 DataConversion 任务从 WT_WSTR(50) 到 WT_WSTR(20) 的字段 Phone1 但它们都不起作用。我知道我可以在 OLEDB 源的 SQL 字符串中 SubStr phone1 但我很想知道 SSIS 如何处理这种情况

【问题讨论】:

  • 源电话号码超过20个字符怎么办?

标签: sql sql-server ssis


【解决方案1】:

根本原因 - 当源列的数据类型长度大于目标列的数据类型长度时,此警告消息会出现在 SSIS 数据流任务上。

解决方案 - 为了从 SSIS 解决方案中删除此警告消息,请确保源列的数据类型长度应等于目标列的数据类型长度。

【讨论】:

    【解决方案2】:

    警告:从长度为 50 的数据流列“Phone1”插入长度为 20 的数据库列“Telephone”中的数据可能会发生截断。

    解决方案:

    要删除上述警告,您可以按照以下步骤操作:

    1)右键单击源组件(例如:平面文件)并单击显示高级编辑器。

    2)转到输入和输出属性。

    3)点击平面文件源Output-->Output栏-->选择(PhoneNo)

    4)你可以得到phoneno的属性窗口点击Length属性并将值更改为20。点击确定。

    希望对你有所帮助。

    【讨论】:

    • 赞成,因为这有助于我解决输出列长度问题。超级棒!
    【解决方案3】:

    您的转换应该产生一个新的变量,不要使用Phone1。使用转换后值的名称。

    【讨论】:

    • 对我有用。愚蠢的我,我以为我选择了 convert.value
    【解决方案4】:

    您可以在脚本组件中更改“输出”列(Phone1)的大小,默认始终为50,手动设置为20。

    【讨论】:

      【解决方案5】:

      这只是一个警告。无论如何你的包都会执行。 这是因为源变量和目标变量的长度不同。 要解决此警告,请右键单击目标源,选择显示高级编辑器选项,选择输入和输出属性选项卡,展开输入和输出变量并检查长度。如果它们不同,则使用数据转换操作使其相同。

      【讨论】:

        【解决方案6】:

        如果一切都失败了,试试这个。

        我的经历是,在我从同一个数据流任务或另一个包中的数据流任务复制并粘贴现有 Ole DB 目标/源元素后,偶尔会出现此错误,然后开始更改详细信息内。

        即使列的数据类型和长度相同,有时仍会出现此警告。这是我删除复制的元素并从头开始构建它们的时候。这使警告消失了。

        我的猜测是元数据在复制/粘贴过程中被弄乱了。

        【讨论】:

          【解决方案7】:

          源 varchar(50),目标 varchar(20)

          你知道错误迫在眉睫,并且可以忽略它

          试试下面的方法,看看它是否对你有帮助

          【讨论】:

            猜你喜欢
            • 2016-11-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-04-12
            • 2016-05-03
            • 2023-03-31
            • 1970-01-01
            相关资源
            最近更新 更多