示例#1
0
        public void ManualMapToTargetColumns()
        {
            if (ExternalColumnInputColumnMap.Count > 0)
            {
                string[] viCols = new string[Input.Input.GetVirtualInput().VirtualInputColumnCollection.Count];
                for (int i = 0; i < viCols.Length; i++)
                {
                    viCols.SetValue(Input.Input.GetVirtualInput().VirtualInputColumnCollection[i].Name, i);
                }

                foreach (ExternalColumnInputMap map in ExternalColumnInputColumnMap)
                {
                    if (String.IsNullOrEmpty(map.InputColumnName))
                    {
                    }
                    else
                    {
                        ISExternalMetadataColumn extCol = new ISExternalMetadataColumn(this, DtsInput.Name, map.ExternalColumn.ExternalColumnName, true);
                        for (int vi = 0; vi < viCols.Length; vi++)
                        {
                            if (viCols[vi].ToLower() == map.InputColumnName.ToLower())
                            {
                                ISInputColumn ic = new ISInputColumn(this, DtsInput.Name, viCols[vi], UsageType.UT_READONLY);
                                DesignTimeComponent.MapInputColumn(DtsInput.ID, ic.ID, extCol.ID);
                                extCol.DataType  = ic.DataType;
                                extCol.CodePage  = ic.CodePage;
                                extCol.Length    = ic.Length;
                                extCol.Precision = ic.Precision;
                                extCol.Scale     = ic.Scale;
                            }
                        }
                    }
                }
            }
        }
        public ISInputColumn ReplaceWithDerivedColumn(string columnName, string expression, string expressionCols, RowDisposition errorRowDisposition = RowDisposition.RD_FailComponent, RowDisposition truncationRowDisposition = RowDisposition.RD_FailComponent)
        {
            if (!(String.IsNullOrEmpty(expressionCols)))
            {
                SetUsageTypeToReadForExpressionCols(expressionCols);
            }
            ISInputColumn ic = new ISInputColumn(this, _input.Name, columnName, UsageType.UT_READWRITE, errorRowDisposition, truncationRowDisposition);

            SetCustomPropertyToInputColumn(_input, GetInputColumn(_input.Name, columnName), "Expression", expression);
            SetCustomPropertyToInputColumn(_input, GetInputColumn(_input.Name, columnName), "FriendlyExpression", expression);
            return(ic);
        }
示例#3
0
        private void MapInputColumnsToExternalColumns()
        {
            if (ExternalColumnInputColumnMap.Count > 0)
            {
                string[] viCols = new string[Input.Input.GetVirtualInput().VirtualInputColumnCollection.Count];
                for (int i = 0; i < viCols.Length; i++)
                {
                    viCols.SetValue(Input.Input.GetVirtualInput().VirtualInputColumnCollection[i].Name, i);
                }

                foreach (ExternalColumnInputMap map in ExternalColumnInputColumnMap)
                {
                    for (int mc = 0; mc < DtsInput.ExternalMetadataColumnCollection.Count; mc++)
                    {
                        if (DtsInput.ExternalMetadataColumnCollection[mc].Name == map.ExternalColumn.ExternalColumnName)
                        {
                            //IDTSInputColumn100 ic = GetInputColumn(DtsInput.Name, map.Item2);
                            //ic.ExternalMetadataColumnID = DtsInput.ExternalMetadataColumnCollection[mc].ID;
                            for (int vi = 0; vi < viCols.Length; vi++)
                            {
                                if (viCols[vi] == map.InputColumnName)
                                {
                                    ISInputColumn ic = new ISInputColumn(this, DtsInput.Name, viCols[vi], UsageType.UT_READONLY);
                                    //ic.ExternalMetadataColumnID = DtsInput.ExternalMetadataColumnCollection[mc].ID;
                                    //MapInputColumn(DtsInput.Name, DtsInput.ExternalMetadataColumnCollection[mc].Name);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                string[] viCols = new string[Input.Input.GetVirtualInput().VirtualInputColumnCollection.Count];
                for (int i = 0; i < viCols.Length; i++)
                {
                    viCols.SetValue(Input.Input.GetVirtualInput().VirtualInputColumnCollection[i].Name, i);
                }
                for (int i = 0; i < viCols.Length; i++)
                {
                    for (int mc = 0; mc < DtsInput.ExternalMetadataColumnCollection.Count; mc++)
                    {
                        if (DtsInput.ExternalMetadataColumnCollection[mc].Name == viCols[i])
                        {
                            ISInputColumn ic = new ISInputColumn(this, DtsInput.Name, viCols[i], UsageType.UT_READONLY);
                            ic.ExternalMetadataColumnID = DtsInput.ExternalMetadataColumnCollection[mc].ID;
                        }
                    }
                }
            }
        }
 public ISDerivedColumn(ISDerivedColumnComponent parentComponent, DerivedColumnAction action, string columnName)
 {
     _dervColComponent = parentComponent;
     if (action == DerivedColumnAction.Replace)
     {
         InputColumn = new ISInputColumn(_dervColComponent, _input.Name, columnName, UsageType.UT_READWRITE);
         InputColumn.TruncationRowDisposition = RowDisposition.RD_FailComponent;
         InputColumn.ErrorRowDisposition      = RowDisposition.RD_FailComponent;
     }
     if (action == DerivedColumnAction.New)
     {
         OutputColumn = new ISOutputColumn(_dervColComponent, _output.Name, columnName);
         OutputColumn.TruncationRowDisposition = RowDisposition.RD_FailComponent;
         OutputColumn.ErrorRowDisposition      = RowDisposition.RD_FailComponent;
     }
 }
示例#5
0
        public void AddLookUpColumnIntoDataFlow(string lookupColumnName, string lookupColumnNameAlias, RowDisposition truncationRowDisposition, SSISDataType dataType, int length, int precision, int scale, int codePage, string inputColumnToReplace = null)
        {
            if (String.IsNullOrEmpty(inputColumnToReplace))
            {
                ISOutputColumn oc = new ISOutputColumn(this, MatchOutput_m.Name, lookupColumnName, RowDisposition.RD_NotUsed, truncationRowDisposition);
                oc.SetDataTypeProperties(dataType, length, precision, scale, codePage);
                SetCustomPropertyToOutputColumn(MatchOutput_m.Name, lookupColumnName, "CopyFromReferenceColumn", lookupColumnName);
                oc.Name = String.IsNullOrEmpty(lookupColumnNameAlias) ? lookupColumnName : lookupColumnNameAlias;
            }

            else
            {
                ISInputColumn ic = new ISInputColumn(this, _input.Name, inputColumnToReplace, UsageType.UT_READWRITE);
                SetCustomPropertyToInputColumn(ic.Input, ic.InputColumn, "CopyFromReferenceColumn", lookupColumnName);
                ic.Name = String.IsNullOrEmpty(lookupColumnNameAlias) ? lookupColumnName : lookupColumnNameAlias;
                _renamedInputCols.Add(new string[] { inputColumnToReplace, ic.Name });
            }
        }
示例#6
0
        public void JoinInputToLookUpColumn(string inputColumn, string outputColumn)
        {
            ISInputColumn ic = new ISInputColumn(this, _input.Name, inputColumn, UsageType.UT_READONLY);

            SetCustomPropertyToInputColumn(ic.Input, ic.InputColumn, "JoinToReferenceColumn", outputColumn);
        }