When firing Integration Services events from a script, I stumble a little on the FireInformation method from Microsoft.SqlServer.Dts.Tasks.ScriptTask.EventsObjectWrapper Dts property on Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase. The last parameter, fireAgain, is passed by reference. The documentation explains, "True to continue firing; otherwise, false." Why pass the parameter by reference? Are there conditions where the method set the value to true and require the caller to repeat the call? If the caller sets the value to false, what are the implications?
The reason the FirstInformation provides a mechanism for suppressing further events is the cost. Raising events can be costly and given that by definition, these messages are informational in nature, it makes sense to allow log providers, or custom tasks to stop raising the event.
From IDTSComponentEvents.FireInformation Method
Because firing of an event may be expensive, the run-time engine provides a mechanism for suppressing events that you are not interested in. Every event firing method has a FireAgain parameter. If the value of this variable is false, after the method returns, the caller will not fire this event again for the duration of the current execution.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With