我在导入之前验证文件上的标头,其中一部分涉及在单个字符串中检索导入表的标头,以逗号分隔。单个字符串结果大约是9000个字符。
在SSIS中,将结果集恢复为 varchar(MAX)时出现错误,但 varchar(8000)并未提供完整结果。我得到的 varchar(MAX)错误类似于您尝试返回完整结果集但是告诉SSIS它是< em>单行。
我在这里有没有选择拆分结果集或只检查8000个字符的选项吗?
不太理想的解决方案:我最终将查询拆分为两个,一个用于第一个8000,第二个用于SUBSTRING(x,8001,x-8000)。它没有我想要的那么优雅,但它完成了工作。
答案 0 :(得分:0)
将列的数据类型更改为DT_NTEXT(如果您需要unicode字符)或DT_TEXT(如果您不希望使用unicode字符)。这些数据类型可以插入SQL中的nvarchar(max)和varchar(max)字段。
答案 1 :(得分:0)
我最终将查询拆分为两个,一个用于第一个8000,第二个用于SUBSTRING(x,8001,x-8000)。它没有我想要的那么优雅,但它完成了工作。