sql server语言 - 拉我的头发在通用错误信息



我有一个dataflow,它是SharePoint List SourceADO.NET Database Destination。在SSIS 2008中,当我运行这个时,我得到下面的错误。我已经检查了40列,检查了输入大小和数据库列的大小,它们看起来很好。需要注意的是,我正在使用备忘录字段来文本数据类型。搜索的结果集是从SharePoint列表中导入的600行。我运行这个数据流并得到下面的错误,在需要导入的600个数据中,只有200个被写入数据库。

3有趣的测试。

  • Test 1,将缓冲区大小增加到3000万,现在得到390行导入,然后我得到下面的错误。
  • 测试2,将值提升到50百万导致错误立即发生。我没有碰过批量大小为2000。
  • 测试3,我取消了一些随机列的映射在SharePoint列表源的中间,所有的行现在得到进口的。

我不明白发生了什么事。似乎我碰到了某种内部限制,这是SharePoint适配器问题吗?

误差

Microsoft.SqlServer.Dts.Pipeline.DoesNotFitBufferException: The value is too large to fit in the column data area of the buffer.
   at Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.SetString(Int32 columnIndex, String value)
   at Microsoft.Samples.SqlServer.SSIS.SharePointListAdapters.SharePointListSource.PrimeOutput(Int32 outputs, Int32[] outputIDs, PipelineBuffer[] buffers)
   at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPrimeOutput(IDTSManagedComponentWrapper100 wrapper, Int32 outputs, Int32[] outputIDs, IDTSBuffer100[] buffers, IntPtr ppBufferWirePacket)

已解析。sp list source的源代码说一个字段是100,而在现实生活中它是150。如此令人沮丧。更改了源上的字段大小。

相关内容

最新更新