Error occurring in ExecuteSQL Task in OnPreExecute (and in OnPostExecute) but package not failing

When any of my tasks or script tasks in my control flow, or data flow, have an error, the entire package, and then the calling package fail, as far as I've seen, through some CTP versions, beta versions, and the release version of SQL Server 2005.

But, I've just made a change, in an sproc called from an ExecuteSQL Task in a PreExecute event attached to a DataFlow, and that ExecuteSQL Task is reporting an error in the output window, but the package execution is not being stopped. Why not

I see something like so

Error: 0xC002F309 at MyExecuteSqlTaskName, Execute SQL Task: ....
Task failed: MyExecuteSqlTaskName
Warning: 0x80019002 at OnPreExecute: The Execution method succeeded, but the number of errors raised (1) 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.

repeated many times in the output stream, and the same thing for the PostExecute event attached to the same object.

I'm disappointed, because I want errors propagated upwards, as I'm used to.

I looked, and as far as I can tell, all my ExecuteSQL tasks (in events and in the regular control flow) have the default settings of

FailPackageOnFailure: False
FailParentOnFailure: False
MaxErrorCount: 1


Do I have to go revise these settings on every ExecuteSQL Task in every event handler in every SSIS package (That will be exceedingly tedious.) Do I set these on the ExecuteSQL task inside the event Do I set these on the event handler itself




Answer this question

Error occurring in ExecuteSQL Task in OnPreExecute (and in OnPostExecute) but package not failing

  • X-Cubed

    Trial and error suggests that it is sufficient to set the FailPackageOnError for the event handler itself.

    Whether this is a bug compared to pre-release versions of SSIS, I still don't know.


  • Juggernaut.

    It should also be possible to set FailPackageOnFailure at the package level too. if you need this behaviour in all your packages this might be easier.

    Donald



  • Error occurring in ExecuteSQL Task in OnPreExecute (and in OnPostExecute) but package not failing