Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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;
        }
Пример #3
0
 internal SSISEmitterContext AddDataFlow(SsisPipelineTask dataFlowTask)
 {
     return new SSISEmitterContext(this._package, this._ssisSequence, this._pluginLoader, dataFlowTask);
 }
Пример #4
0
 internal SSISEmitterContext(SsisPackage package, SsisSequence parentSequence, PluginLoader<ISSISEmitter, PhysicalIRMappingAttribute> pluginLoader, SsisPipelineTask ssisDataFlowTask)
     : this(package, parentSequence, pluginLoader)
 {
     this._ssisDataFlowTask = ssisDataFlowTask;
 }