sql - SSIS - 值太大,无法放入缓冲区的列数据区

标签 sql json ssis buffer script-component

我将一列 Json 数据传递给脚本组件进行处理。一切顺利,直到我有一个包含超过 600,000 个长度的 Json 数据,然后出现跟随错误。

Error

我确实将 MaxBuffer 大小更改为 10MB,而我的数据只有 600K 左右,但仍然不起作用,请指教。

最佳答案

有几件事你需要检查 -

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

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

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

如果您使用的是 SQL Server 2005,那么值得查看 this线。

关于sql - SSIS - 值太大,无法放入缓冲区的列数据区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24420071/

相关文章:

sql - 我想用增量值从 table1 插入值到 table2

SQL Server 查询以获取连续出现的次数

当源有超过 2 位小数时,SSIS 如何将字符串(DT_STR)转换为货币(DT_CY)

mysql - 找到 2/3 匹配时,多个删除查询失败

javascript - 如何在表中按列表示 JSON 响应

javascript - 使用 JSON 文件和 Javascript

javascript - 我不断收到此错误语法错误 : JSON. 解析:JSON 数据第 1 行第 2 列出现意外字符

sql-server - SSIS 目录包错误 - FlatFile 目标版本与 DataFlow 版本不兼容

SSIS脚本任务在服务器上失败,错误为 "Cannot load script for execution"

mysql - 删除MYSQL表中的所有重复值