1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
' 2 Configure the Script component '
Dim componentSyntax As IDTSComponentMetaData90 = dataflowTask.ComponentMetaDataCollection("SyntaxComponent")
Dim wrapperSyntax As CManagedComponentWrapper = componentSyntax.Instantiate()
wrapperSyntax.ProvideComponentProperties()
wrapperSyntax.AcquireConnections(Nothing)
wrapperSyntax.ReinitializeMetaData()
wrapperSyntax.ReleaseConnections()
componentSyntax.Name = "SyntaxComponent"
dataflowTask.PathCollection("Flat File Source Output").AttachPathAndPropagateNotifications(componentSource.OutputCollection(0), componentSyntax.InputCollection(0))
' Map input columns '
Dim input As IDTSInput90 = componentSyntax.InputCollection(0)
Dim externalMetadataColumns As Hashtable = New Hashtable
For Each externalMetadataColumn As IDTSExternalMetadataColumn90 In input.ExternalMetadataColumnCollection
externalMetadataColumns.Add(externalMetadataColumn.Name, externalMetadataColumn)
Next
Dim vInput As IDTSVirtualInput90 = input.GetVirtualInput
' Iterate the inputs of the component '
For Each vColumn As IDTSVirtualInputColumn90 In vInput.VirtualInputColumnCollection
If externalMetadataColumns.Contains(vColumn.Name) Then
Dim vCol As IDTSInputColumn90 = wrapperSyntax.SetUsageType(input.ID, vInput, vColumn.LineageID, DTSUsageType.UT_READWRITE)
If Not vCol Is Nothing And externalMetadataColumns.Contains(vCol.Name) Then
wrapperSyntax.MapInputColumn(input.ID, vCol.ID, input.ExternalMetadataColumnCollection(vColumn.Name).ID)
End If
End If
Next
[.......]
dataflowTask.PathCollection("IsValid").AttachPathAndPropagateNotifications(componentSyntax.OutputCollection(0), componentRowCountOk.InputCollection(0)) |
Partager