1
我有一個dataflow
這是一個SharePoint List Source
到ADO.NET Database Destination
。在SSIS 2008
,當我運行這個我得到下面的錯誤。我已經通過了40個列,並檢查了輸入大小和數據庫列的大小,它們看起來很好。需要注意的是,我正在使用備註字段來處理ntext數據類型。要搜索的結果集是從SharePoint列表導入的600行。我運行這個數據流,並在下面得到Error,只有200個被寫入到需要導入的600個數據庫中。將我的頭髮拉出一般錯誤消息
3有趣的測試。
- 測試1,增加緩衝區大小爲30萬,我現在得到390行 導入,然後我得到下面的Error。
- 測試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)
我會嘗試降低批量大小。同時檢查數據源的高級屬性,並查看包數據流中正在轉換的備註字段的SSIS數據類型。 –
科學方法將成爲你的朋友。改變一件事並測試。重複,直到找出造成失敗的原因。 – billinkc
您遇到的錯誤是在緩衝區(從共享點適配器出來的)中。您可以移除您的目的地,並繼續獲得相同的結果。 – billinkc