ScriptComponent.PreExecute Method
Executes custom code that must run before the Script component has processed its inputs and outputs.
Namespace: Microsoft.SqlServer.Dts.Pipeline
Assembly: Microsoft.SqlServer.TxScript (in Microsoft.SqlServer.TxScript.dll)
The Script component developer does not use the ScriptComponent class directly, but indirectly, by coding the methods and properties of the ScriptMain class, which inherits from ScriptComponent through the UserComponent class.
The developer can override the PreExecute method to perform any one-time tasks necessary before processing the rows of data.
The following code sample demonstrates how the Script component developer might use the PreExecute and PostExecute methods to open and close a text file connection before and after processing. For more information on this sample, see Creating a Destination with the Script Component.
Imports System.IO ... Public Class ScriptMain Inherits UserComponent Dim copiedAddressFile As String Private textWriter As StreamWriter Private columnDelimiter As String = "," Public Overrides Sub AcquireConnections(ByVal Transaction As Object) Dim connMgr As IDTSConnectionManager100 = _ Me.Connections.MyFlatFileDestConnectionManager copiedAddressFile = CType(connMgr.AcquireConnection(Nothing), String) End Sub Public Overrides Sub PreExecute() textWriter = New StreamWriter(copiedAddressFile, False) End Sub Public Overrides Sub MyAddressInput_ProcessInputRow(ByVal Row As MyAddressInputBuffer) With textWriter If Not Row.AddressID_IsNull Then .Write(Row.AddressID) End If .Write(columnDelimiter) If Not Row.City_IsNull Then .Write(Row.City) End If .WriteLine() End With End Sub Public Overrides Sub PostExecute() textWriter.Close() End Sub End Class