I have exactly the same problem. i.e.
Error: 0xC0047062 at Data Flow Task (xxx), DataReader Source (xxx) : 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, etc, etc ...
Strangely, the data is successfully written to the destination table, however the task fails because the maximum error count is reached. i.e.
Info: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (3) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
SSIS package "Portfolio 1.dtsx" finished: Failure.
I tried the solution suggested by MattF, but it made no difference, as it seems to be a solution for a slightly different error, i.e. "inducedtransformfailureonerror".
Also, I tried refreshing the connection manager in the DataReader Source Editor, but it resulted in a slightly different error, i.e:
Error at Data Flow Task (xxx) [DataReader Source (xxx) ]: System.NullReferenceException: Object reference not set to an instance of an object.
... and then the data flow task does not run at all.
Please help as this is driving me crazy!