PrimeOutput() and NullReferenceException problems with DataReader Source in SSIS

Hi

I have an integration services script that was working ok until a recent database upgrade. When I run the script in gui debug mode it behaves as follows. The data flow reads in data from an oracle server table VALNREQ & then uses it to populate a sqlserver table (with a little manipulation of the fields in between). For some reason although it populates the destination table with the correct number of rows (& the data looks ok) it errors out with the messages listed below. The DataReader Source dataflow source box turns red & all the other boxes turn green including the destination one. I have run out of ideas ... any suggestions? Have I inadvertently changed a property without noticing? I can't see anything obvious & the input data itself looks clean enough.

Any pointers in the right direction would be great, thanks. I've been thrown in at the deep end with this s/w so I imagine there are a number of large gaps in my knowledge so apologies if there is a simple solution to this.

B

[DataReader Source VALNREQ [1]] Error: System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.PrimeOutput(Int32 outputs, Int32[] outputIDs, PipelineBuffer[] buffers) at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPrimeOutput(IDTSManagedComponentWrapper90 wrapper, Int32 outputs, Int32[] outputIDs, IDTSBuffer90[] buffers, IntPtr ppBufferWirePacket)


[DTS.Pipeline] Error: The PrimeOutput method on component "DataReader Source VALNREQ" (1) returned error code 0x80004003. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.

[1849 byte] By [BarbO] at [2007-12-24]
# 1

For now, you can set "MaxErrorCount" on your dataflow task to >1 so as to ignore this error (since the result look good based on what you described).

We still need to understand why PrimeOutput errors...probably an issue with your provider sending out endofrowset to our adapter. Can you instead use a very simple "select" query on the same connection, using DataReaderSrc, to see whether it can get through?

Thanks

wenyang

WenyangHu at 2007-8-31 > top of Msdn Tech,SQL Server,SQL Server Integration Services...
# 2

Hi - I'm getting a similar error (DB is SQL Server 2005 - ver 2153). Initially the error occured in the first data flow - did a refresh of the components and then it moved to the second data flow - haven't been able to get past it with a refresh on this setup. The really odd part is the data reader is the first in the stream of tasks and the subsequent tasks in the dataflow do complete successfully.

The error appears to be occuring in connection with the use of a variable containing the SQL select statement vs. hardcoding in the data reader component. I'm using a script task (postioned just before the data flow) to automate the sql command setup (date specific) and then pass it via an expression to the data flow. If I delete the expression, this task completes successfully.

[DataReader Source [11058]] Error: System.NullReferenceException:Object reference not set to an instance of an object. at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.PrimeOutput(Int32 outputs, Int32[] outputIDs, PipelineBuffer[] buffers) at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostPrimeOutput(IDTSManagedComponentWrapper90 wrapper, Int32 outputs, Int32[] outputIDs, IDTSBuffer90[] buffers, IntPtr ppBufferWirePacket)

CraigInGeorgia at 2007-8-31 > top of Msdn Tech,SQL Server,SQL Server Integration Services...

SQL Server

Site Classified