【问题标题】:Converting Nvarchar(max) source data to varchar(max) destination in SSIS在 SSIS 中将 Nvarchar(max) 源数据转换为 varchar(max) 目标
【发布时间】:2019-08-25 04:10:38
【问题描述】:

我正在尝试将数据从 sql 表中的 nvarchar(max) 列移动到 SSIS 包中另一个 sql 表的 varchar(max) 列。它不断给我截断的数据转换转换错误。

我有两个数据转换转换:

  1. 将 Unicode(DT_Ntext) 转换为 Unicode(DT_WSTR)(4000)
  2. 第二次数据转换转换将Unicode(DT_Wstr)转换为长度为4000的String(dt_str)

【问题讨论】:

    标签: sql-server unicode types ssis etl


    【解决方案1】:

    在 OLEDB 源中,使用 SQL 命令作为查询中的强制转换列的访问模式:

    Select CAST([column] as varchar(max)) FROM Table
    

    在 SQL 命令中进行转换时,无需在数据流任务中使用数据转换转换

    如果不是截断错误

    如果 CAST() 不起作用,则表示该列包含一些无法转换为非 unicode 字符串的 unicode 字符,如果您使用数据转换转换或您可以通过 Error Output 处理这些值可以参考以下链接之一:

    【讨论】:

    • @SapChad 错误是什么,如果您在 OLEDB 源中使用 CAST,则无需保留数据转换转换。还要检查我的 asnwer 更新
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    相关资源
    最近更新 更多