public void ProcessInput(SsisPipelineTask dataFlowTask) { int nNewInput = ((UnionAll)_transformation).InputPathList.Count - _component.InputCollection.Count; if (nNewInput > 0) { for (int i = 0; i < nNewInput; i++) { _component.InputCollection.New(); } } for (int i = 0; i < ((UnionAll)_transformation).InputPathList.Count; i++) { UnionInputPath inputPath = ((UnionAll)_transformation).InputPathList[i]; IDTSInput100 input = _component.InputCollection[i]; input.Name = inputPath.Source + "_" + inputPath.Name; dataFlowTask.ChainComponent(this, inputPath, input); foreach (UnionMapping unionMapping in inputPath.MappingList) { MapInput(input, unionMapping); } } }
public SsisComponent(Transformation transformation, SSISEmitterContext context) { if (!context.HasSSISDataFlowTask) { // TODO: Message.Trace(Severity.Error) } _transformation = transformation; _dataFlowTask = context.SSISDataFlowTask; _context = context; _component = _dataFlowTask.NewComponentMetaData(); _component.ComponentClassID = ClassID; _instance = _component.Instantiate(); _instance.ProvideComponentProperties(); _component.Name = _transformation.Name; _component.ValidateExternalMetadata = transformation.ValidateExternalMetadata; }
internal SSISEmitterContext AddDataFlow(SsisPipelineTask dataFlowTask) { return new SSISEmitterContext(this._package, this._ssisSequence, this._pluginLoader, dataFlowTask); }
internal SSISEmitterContext(SsisPackage package, SsisSequence parentSequence, PluginLoader<ISSISEmitter, PhysicalIRMappingAttribute> pluginLoader, SsisPipelineTask ssisDataFlowTask) : this(package, parentSequence, pluginLoader) { this._ssisDataFlowTask = ssisDataFlowTask; }