Метод ScriptComponent.PostExecute
Executes custom code that must run after the Script component has processed its inputs and outputs.
Пространство имен: Microsoft.SqlServer.Dts.Pipeline
Сборка: Microsoft.SqlServer.TxScript (в Microsoft.SqlServer.TxScript.dll)
Синтаксис
'Декларация
Public Overridable Sub PostExecute
'Применение
Dim instance As ScriptComponent
instance.PostExecute()
public virtual void PostExecute()
public:
virtual void PostExecute()
abstract PostExecute : unit -> unit
override PostExecute : unit -> unit
public function PostExecute()
Замечания
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 PostExecute method to perform cleanup or any one-time tasks necessary after 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 Создание назначения с помощью компонента скрипта.
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