检索超过8000个字符的单行SSIS结果集

时间:2017-04-26 17:11:19

标签: sql ssis

我在导入之前验证文件上的标头,其中一部分涉及在单个字符串中检索导入表的标头,以逗号分隔。单个字符串结果大约是9000个字符。

在SSIS中,将结果集恢复为 varchar(MAX)时出现错误,但 varchar(8000)并未提供完整结果。我得到的 varchar(MAX)错误类似于您尝试返回完整结果集但是告诉SSIS它是< em>单行。

我在这里有没有选择拆分结果集或只检查8000个字符的选项吗?

不太理想的解决方案:我最终将查询拆分为两个,一个用于第一个8000,第二个用于SUBSTRING(x,8001,x-8000)。它没有我想要的那么优雅,但它完成了工作。

2 个答案:

答案 0 :(得分:0)

将列的数据类型更改为DT_NTEXT(如果您需要unicode字符)或DT_TEXT(如果您不希望使用unicode字符)。这些数据类型可以插入SQL中的nvarchar(max)和varchar(max)字段。

答案 1 :(得分:0)

我最终将查询拆分为两个,一个用于第一个8000,第二个用于SUBSTRING(x,8001,x-8000)。它没有我想要的那么优雅,但它完成了工作。