我想从文本文件(.csv)中读取数据,将其中一个列截断为1000个字符,然后使用SSIS包推入SQL表。
输入(DT_TEXT)长度为11,000个字符,但我的挑战是......
答案 0 :(得分:3)
现在有一个解决方法/解决方案; 我截断平面文件源中的文本并选择忽略错误的选项;
如果您找到更好的解决方案,请分享!
供参考:
答案 1 :(得分:1)
为了帮助找到这个的其他人,我在一个派生列转换任务中使用文本流[DT_TEXT]时将更多的类似概念应用于数据流中,以将其转换为[DT_WSTR]类型到我定义的长度。这更容易引起转换。
表达式:(DT_WSTR,1000)(DT_STR,1000,1252)myLargeTextColumn
数据类型:Unicode字符串[DT_WSTR]
长度:1000
*我使用1252代码页,因为我的DT_TEXT是UTF-8编码。
对于此派生列,我还在高级编辑器中将TruncationRowDisposition设置为RD_IgnmoreFailure(或者可以在配置错误输出中完成,将截断设置为“忽略失败”)
(我发布了图片,但显然我需要提升我的代表)