SSIS - 该值太大,无法容纳缓冲区的列数据区域

use*_*139 11 sql buffer json ssis script-component

我将一列Json数据传递给脚本组件进行处理.它一直很好,直到我有一个包含超过600,000长度的Json数据,然后发生跟随错误.

错误

我确实将MaxBuffer大小更改为10MB,我的数据只有600K左右,但它仍然不起作用,请咨询.

Vik*_*nde 14

您需要检查的东西很少 -

如果使用分配给输出列的字符串,请转到输出列的属性并将其长度设置为更高的值.将输出列中字符串的大小设置为大于原始字符串的大小.还要比较脚本任务的输入和输出列的大小(右键单击 - >显示高级编辑器...),并查找大于输出列的输入列.请注意脚本组件的"输出"部分中的列大小.

如果您有父子包,请注意管道缓冲区不在子包和父包之间共享,因此您需要相应地设置属性.

要检查截断发生的位置,请尝试实现DoesNotFitBufferException.

如果您使用的是SQL Server 2005,那么查看主题是值得的.

  • 这个答案帮助我确定了我的问题.实际上输出列的字符数限于分配给它的字符数.谢谢! (3认同)