首页 文章

SSIS - 将DT_TEXT(长度11,000个字符)转换为DT_STR并修剪为1,000个字符

提问于
浏览
3

我想从文本文件(.csv)中读取数据,将其中一个列截断为1000个字符,然后使用SSIS包推入SQL表 .

输入(DT_TEXT)长度为11,000个字符,但我的挑战是......

  • SSIS只有在最大长度为8,000个字符时才能转换为(DT_STR) .

  • 无法对Stream执行字符串操作(DT_TEXT数据类型)

2 回答

  • 1

    现在有一个解决方法/解决方案;我截断平面文件源中的文本并选择忽略错误的选项;

    如果您找到更好的解决方案,请分享!

    仅供参考:
    Truncating8000PlusCharsInSSIS

  • 2

    为了帮助找到这个的其他人,我在一个派生列转换任务中使用文本流[DT_TEXT]时将更多的类似概念应用于数据流中,以将其转换为[DT_WSTR]类型到我定义的长度 . 这更容易调出正在进行的转换 .

    表达式:(DT_WSTR,1000)(DT_STR,1000,1252)myLargeTextColumn
    数据类型:Unicode字符串[DT_WSTR]
    长度:1000

    *我使用1252代码页,因为我的DT_TEXT是UTF-8编码的 .

    对于此派生列,我还在高级编辑器中将TruncationRowDisposition设置为RD_IgnmoreFailure(或者可以在配置错误输出中完成,将截断设置为“忽略失败”)

    (我发布图片,但显然我需要提升我的代表)

相关问题