Quantcast
Channel: SQL Server Integration Services forum
Viewing all articles
Browse latest Browse all 24688

How to Configure Fuzzy Grouping programmatically

$
0
0
Hello Guys,

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

component As IDTSComponentMetaData100

Private

instance As CManagedComponentWrapper

Private cm As ConnectionManager

component = 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)

EndIf

instance.SetComponentProperty(

"MinSimilarity", "0.6")


' Establish a connection

instance.AcquireConnections(

Nothing)

' initialize the metadata

instance.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

Next


 

ForEach 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

Viewing all articles
Browse latest Browse all 24688

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>