I am creating a package programmatically, for which I need to configure a Fuzzy Grouping through code.
I am using vb.net but even a c# code will do, as long as it works.
I am trying the following codes
cm variable already has a connection manager object stored
===========================================
Private
Private
instance As CManagedComponentWrapper Private cm As ConnectionManagercomponent = pipeline.ComponentMetaDataCollection.[New]()
component.ComponentClassID =
"{0A1BDBA0-9C6E-4AD7-97B1-E0E79E462629}"instance = component.Instantiate()
instance.ProvideComponentProperties()
If component.RuntimeConnectionCollection.Count > 0 Then' If connection is necessary
component.RuntimeConnectionCollection(0).ConnectionManagerID = cm.ID
component.RuntimeConnectionCollection(0).ConnectionManager = DtsConvert.GetExtendedInterface(cm)
EndIfinstance.SetComponentProperty(
"MinSimilarity", "0.6")' Establish a connection
instance.AcquireConnections(
Nothing)' initialize the metadatainstance.ReinitializeMetaData()
Dim input As IDTSInput100 = FuzzyComponent.InputCollection(0)Dim vInput As IDTSVirtualInput100 = input.GetVirtualInput()
DimlineAgeIDsAsNewDictionary(OfString, Integer)()
' Iterate through the virtual input column collection. ForEach vColumn As IDTSVirtualInputColumn100 In vInput.VirtualInputColumnCollection
instance.SetUsageType(input.ID, vInput, vColumn.LineageID, DTSUsageType.UT_READONLY)
lineAgeIDs(vColumn.Name) = vColumn.LineageID
NextForEach inColumn As IDTSInputColumn100 In component.InputCollection(0).InputColumnCollection'Colum where name value should be looked up
instance.SetInputColumnProperty(component.InputCollection(0).ID, inColumn.ID,
"MinSimilarity", ".6")instance.SetInputColumnProperty(component.InputCollection(0).ID, inColumn.ID,
"ToBeCleaned", "True")Dim col As IDTSOutputColumn100 = instance.InsertOutputColumnAt(output.ID, 0, "Fuzzy"& inColumn.Name, "Fuzzy Column "& inColumn.Name)
instance.SetOutputColumnProperty(output.ID, col.ID,
"ColumnType", "PassThru")instance.SetOutputColumnProperty(output.ID, col.ID,
"InputID", lineAgeIDs(inColumn.Name))Next
' Now release the connection
instance.ReleaseConnections()
===============================================
I have searched on net everywhere but couldn't find any sample codes for this component. Any help will be highly appreciated.
Thank you
Abhishek
Avi.G