public override IDTSInputColumn100 SetUsageType(int inputID, IDTSVirtualInput100 virtualInput, int lineageID, DTSUsageType usageType)
        {
            IDTSInputColumn100            inputColumn            = null;
            IDTSOutput100                 output                 = this.ComponentMetaData.OutputCollection[0];
            IDTSOutputColumnCollection100 outputColumnCollection = output.OutputColumnCollection;
            IDTSInput100 input = this.ComponentMetaData.InputCollection[0];
            IDTSInputColumnCollection100 inputColumnCollection = input.InputColumnCollection;

            if (usageType == DTSUsageType.UT_IGNORED)
            {
                inputColumn = inputColumnCollection.GetInputColumnByLineageID(lineageID);

                IDTSOutputColumn100 outputColumn = outputColumnCollection.FindObjectByID(inputColumn.MappedColumnID);
                if (outputColumn != null)
                {
                    outputColumnCollection.RemoveObjectByID(outputColumn.ID);
                }

                inputColumn = base.SetUsageType(inputID, virtualInput, lineageID, usageType);
            }
            else
            {
                inputColumn = base.SetUsageType(inputID, virtualInput, lineageID, usageType);

                IDTSOutputColumn100 outputColumn = outputColumnCollection.New();
                outputColumn.Name = inputColumn.Name;
                outputColumn.SetDataTypeProperties(inputColumn.DataType, inputColumn.Length, inputColumn.Precision, inputColumn.Scale, inputColumn.CodePage);
                outputColumn.MappedColumnID = inputColumn.LineageID;
                inputColumn.MappedColumnID  = outputColumn.LineageID;
                AddInputColumnProperty(inputColumn, GeoColumnPropName, "True if the column holds geometry objects to be joined together.", false);
                AddInputColumnProperty(inputColumn, GroupByColumnPropName, "True if the column holds group by values.", false);
            }

            return(inputColumn);
        }
Beispiel #2
0
        public override void PreExecute()
        {
            // Get column names
            columnNames = new Dictionary <int, string>();
            int          count = 0;
            IDTSInput100 input = ComponentMetaData.InputCollection[0];
            IDTSInputColumnCollection100 inputColumns = input.InputColumnCollection;

            foreach (IDTSInputColumn100 column in inputColumns)
            {
                columnNames[count] = column.Name;
                count++;
            }

            try
            {
                this.publisherChannel = rabbitConnection.CreateModel();
                // Create Queue and Exchange, these operations should be idempotent
                this.publisherChannel.ExchangeDeclare(exchangeName, "direct", true);
                this.publisherChannel.QueueDeclare(exchangeName, true, false, false, null);
                this.publisherChannel.QueueBind(exchangeName, exchangeName, "");
            }
            catch (Exception)
            {
                ReleaseConnections();
                throw;
            }
        }
Beispiel #3
0
        void choosecolumnspage_GetSelectedInputOutputColumns(object sender, SelectedInputOutputColumnsArgs args)
        {
            this.ClearErrors();

            try
            {
                IDTSInput100 input = this.ComponentMetadata.InputCollection[0];
                IDTSInputColumnCollection100 inputColumnCollection = input.InputColumnCollection;

                foreach (IDTSInputColumn100 inputColumn in inputColumnCollection)
                {
                    SelectedInputOutputColumns element            = new SelectedInputOutputColumns();
                    IDTSVirtualInputColumn100  virtualInputColumn =
                        this.GetVirtualInputColumn(inputColumn);

                    element.VirtualInputColumn = new DataFlowElement(virtualInputColumn.Name, virtualInputColumn);
                    element.InputColumn        = new DataFlowElement(inputColumn.Name, inputColumn);

                    args.SelectedColumns.Add(element);
                }
            }
            catch (Exception ex)
            {
                this.ReportErrors(ex);
            }
        }
        /// <summary>
        /// Helper function to load DataGridView, one row per input column. Column
        /// UsageType dictates column selection state.
        /// </summary>
        private void SetInputVirtualInputColumns()
        {
            _virtualInput = _input.GetVirtualInput();
            IDTSVirtualInputColumnCollection100 virtualInputColumnCollection = _virtualInput.VirtualInputColumnCollection;
            IDTSInputColumnCollection100        inputColumns = _input.InputColumnCollection;

            int columnCount = virtualInputColumnCollection.Count;

            for (int i = 0; i < columnCount; i++)
            {
                IDTSVirtualInputColumn100 virtualColumn = virtualInputColumnCollection[i];
                int rowIndex;

                if (virtualColumn.UsageType == DTSUsageType.UT_READONLY || virtualColumn.UsageType == DTSUsageType.UT_READWRITE)
                {
                    rowIndex = this.dgColumns.Rows.Add(new object[] { CheckState.Checked, " " + virtualColumn.Name });
                }
                else
                {
                    rowIndex = this.dgColumns.Rows.Add(new object[] { CheckState.Unchecked, " " + virtualColumn.Name });
                }

                this.dgColumns.Rows[rowIndex].Tag = i;

                DataGridViewCheckBoxCell cell = (DataGridViewCheckBoxCell)this.dgColumns.Rows[rowIndex].Cells[0];
                cell.ThreeState = false;
            }
        }
Beispiel #5
0
        public IDTSComponentMetaData100 AddComp_Sort(string ComponentName,
                                                     IDTSOutput100 outCols,
                                                     Dictionary <string, bool> sortColumns
                                                     )
        {
            //  Create

            IDTSComponentMetaData100 Comp = dmp.ComponentMetaDataCollection.New();

            Comp.ComponentClassID = "Microsoft.Sort";

            //  Instantiate

            CManagedComponentWrapper Inst = Comp.Instantiate();

            Inst.ProvideComponentProperties();

            Comp.Name        = ComponentName;
            Comp.Description = "Dodany Sort";

            //  Connect

            IDTSPath100 pth = dmp.PathCollection.New();

            pth.AttachPathAndPropagateNotifications(outCols, Comp.InputCollection[0]);

            //  Parametrize

            IDTSInput100 lkpInput = Comp.InputCollection[0];
            IDTSInputColumnCollection100 lkpInputCols = lkpInput.InputColumnCollection;

            IDTSVirtualInput100 lkpVirtInput = lkpInput.GetVirtualInput();
            IDTSVirtualInputColumnCollection100 lkpVirtInputCols = lkpVirtInput.VirtualInputColumnCollection;

            //  Parametrize #2 - Join Columns

            int i = 1;

            foreach (IDTSVirtualInputColumn100 vColumn in lkpVirtInputCols)
            {
                IDTSInputColumn100 inputColumn = Inst.SetUsageType(lkpInput.ID, lkpVirtInput, vColumn.LineageID, DTSUsageType.UT_READONLY);

                foreach (var colKVP in sortColumns)
                {
                    if (vColumn.Name == colKVP.Key)
                    {
                        Inst.SetInputColumnProperty(lkpInput.ID, inputColumn.ID, "NewComparisonFlags", 0);
                        Inst.SetInputColumnProperty(lkpInput.ID, inputColumn.ID, "NewSortKeyPosition", colKVP.Value ? i: -i);
                        i++;
                    }
                }
            }

            //  Return

            return(Comp);
        }
Beispiel #6
0
        public override void PreExecute()
        {
            //Debugger.Launch();

            IDTSInput100 input = ComponentMetaData.InputCollection[0];
            IDTSInputColumnCollection100 inputColumns = input.InputColumnCollection;
            IDTSCustomProperty100        custProp;

            foreach (IDTSInputColumn100 column in inputColumns)
            {
                custProp = column.CustomPropertyCollection["IsFileName"];
                if ((bool)custProp.Value == true)
                {
                    m_FileNameColumnIndex = (int)BufferManager.FindColumnByLineageID(input.Buffer, column.LineageID);
                }
            }
        }
Beispiel #7
0
        private void createDataTable()
        {
            m_table        = new DataTable();
            m_table.Locale = CultureInfo.InvariantCulture;
            IDTSInput100 iDTSInput = ComponentMetaData.InputCollection[0];
            IDTSExternalMetadataColumnCollection100 iDTSExtCols =
                iDTSInput.ExternalMetadataColumnCollection;
            IDTSInputColumnCollection100 iDTSInpCols =
                iDTSInput.InputColumnCollection;
            int cInpCols = iDTSInpCols.Count;

            m_tableCols = new DataColumn[cInpCols];
            IDTSExternalMetadataColumn100[] mappedExtCols =
                new IDTSExternalMetadataColumn100[cInpCols];
            m_bufferIdxs = new int[cInpCols];
            for (int iCol = 0; iCol < cInpCols; iCol++)
            {
                IDTSInputColumn100 iDTSInpCol = iDTSInpCols[iCol];
                int      metaID   = iDTSInpCol.MappedColumnID;
                DataType dataType = iDTSInpCol.DataType;
                Type     type;
                bool     isLong = false;
                dataType = ConvertBufferDataTypeToFitManaged(dataType,
                                                             ref isLong);
                type = BufferTypeToDataRecordType(dataType);
                m_tableCols[iCol] = new DataColumn(iDTSInpCol.Name, type);
                int lineageID = iDTSInpCol.LineageID;
                try
                {
                    m_bufferIdxs[iCol] = BufferManager.FindColumnByLineageID(
                        iDTSInput.Buffer, lineageID);
                }
                catch (Exception)
                {
                    bool bCancel;
                    //ErrorSupport.FireErrorWithArgs(HResults.DTS_E_ADODESTNOLINEAGEID,
                    //    out bCancel, lineageID, iDTSInpCol.Name);
                    //throw new PipelineComponentHResultException(HResults.
                    //    DTS_E_ADODESTNOLINEAGEID);
                }
            }

            m_table.Columns.AddRange(m_tableCols);
        }
Beispiel #8
0
        public IDTSOutput100 ModifyComp_CondSplit_AddOut(IDTSComponentMetaData100 Comp,
                                                         string OutName,
                                                         int OutEvalOrder,
                                                         string OutExpression,
                                                         string OutDesc = "SampleDescription"
                                                         )
        {
            CManagedComponentWrapper Inst = Comp.Instantiate();

            // We need to set a column's usage type before we can use it in an expression.
            // The code here will make all of the input columns available, but we could also
            // restrict it to just the columns that we need in the conditional split expression(s).

            IDTSInput100        splitInput  = Comp.InputCollection[0];
            IDTSVirtualInput100 splitVInput = splitInput.GetVirtualInput();

            IDTSInputColumnCollection100        splitInputCols  = splitInput.InputColumnCollection;
            IDTSVirtualInputColumnCollection100 splitVInputCols = splitVInput.VirtualInputColumnCollection;

            foreach (IDTSVirtualInputColumn100 vCol in splitVInputCols)
            {
                Inst.SetUsageType(splitInput.ID, splitVInput, vCol.LineageID, DTSUsageType.UT_READONLY);
            }

            //  Parametrize

            IDTSOutput100 splitOutput = Inst.InsertOutput(DTSInsertPlacement.IP_BEFORE, Comp.OutputCollection[0].ID);

            splitOutput.Name        = OutName;
            splitOutput.Description = OutDesc;
            splitOutput.IsErrorOut  = false;

            // Note: You will get an exception if you try to set these properties on the Default Output.
            Inst.SetOutputProperty(splitOutput.ID, "EvaluationOrder", OutEvalOrder);
            Inst.SetOutputProperty(splitOutput.ID, "FriendlyExpression", OutExpression);

            Inst.AcquireConnections(null);
            Inst.ReinitializeMetaData();
            Inst.ReleaseConnections();

            return(splitOutput);
        }
        private void BuildInputColumnMaps()
        {
            this.inputToOutputColumnMap.Clear();
            this.inputColumnIndexMap.Clear();

            IDTSInput100 input = this.ComponentMetaData.InputCollection[0];
            IDTSInputColumnCollection100 inputColumnCollection = input.InputColumnCollection;

            foreach (IDTSInputColumn100 inputColumn in inputColumnCollection)
            {
                int inputColumnLineageID = inputColumn.LineageID;
                inputToOutputColumnMap.Add(inputColumn.LineageID, inputColumn.MappedColumnID);
                if ((bool)GetPropertyValue(inputColumn.CustomPropertyCollection, GeoColumnPropName))
                {
                    this.geoColumnLineageID = inputColumnLineageID;
                }

                inputColumnIndexMap.Add(inputColumnLineageID, this.BufferManager.FindColumnByLineageID(input.Buffer, inputColumnLineageID));
            }
        }
        public override void PreExecute()
        {
            this.inputColumns.Clear();

            IDTSInput100 input = this.ComponentMetaData.InputCollection[0];
            IDTSInputColumnCollection100 inputColumnCollection = input.InputColumnCollection;

            foreach (IDTSInputColumn100 inputColumn in inputColumnCollection)
            {
                int    inputColumnLineageID = inputColumn.LineageID;
                string transString          = (string)GetPropertyValue(inputColumn.CustomPropertyCollection, TransPropName);
                if (!string.IsNullOrEmpty(transString))
                {
                    LocalColumnInfo columnInfo = new LocalColumnInfo();
                    columnInfo.DataType    = inputColumn.DataType;
                    columnInfo.BufferIndex = this.BufferManager.FindColumnByLineageID(input.Buffer, inputColumnLineageID);
                    columnInfo.BuildTransformations(transString);

                    this.inputColumns.Add(columnInfo);
                }
            }
        }
        private void AddConvertComponent(Hashtable colConvertTable, Hashtable colConnectTable)
        {
            convertComp = pipeline.ComponentMetaDataCollection.New();
            convertComp.ComponentClassID         = DATACONVERT_GUID;
            convertComp.Name                     = "Data Conversion";
            convertComp.ValidateExternalMetadata = true;
            convertDesignTimeComp                = convertComp.Instantiate();
            convertDesignTimeComp.ProvideComponentProperties();
            IDTSInput100  cvtInput  = convertComp.InputCollection[0];
            IDTSOutput100 cvtOutput = convertComp.OutputCollection[0];
            IDTSInputColumnCollection100 cvtInputCols = cvtInput.InputColumnCollection;
            IDTSOutput100 srcOutput = srcComp.OutputCollection[0];

            pipeline.PathCollection.New().AttachPathAndPropagateNotifications(srcOutput, cvtInput);
            IDTSVirtualInput100 cvtVirInput = cvtInput.GetVirtualInput();

            int i = 0;

            foreach (object key in colConvertTable.Keys)
            {
                int srcColID = (int)key;
                cvtVirInput.SetUsageType(srcColID, DTSUsageType.UT_READONLY);
                IDTSInputColumn100 cvtInputCol = cvtInputCols.GetInputColumnByLineageID(srcColID);
                if (cvtInputCol != null)
                {
                    IDTSOutputColumn100           cvtOutputCol = convertDesignTimeComp.InsertOutputColumnAt(cvtOutput.ID, i++, "Convert_" + cvtInputCol.Name, "");
                    IDTSExternalMetadataColumn100 destCol      = (IDTSExternalMetadataColumn100)colConvertTable[key];
                    convertDesignTimeComp.SetOutputColumnDataTypeProperties(cvtOutput.ID,
                                                                            cvtOutputCol.ID, destCol.DataType, destCol.Length, destCol.Precision, destCol.Scale, destCol.CodePage);
                    // map output column and input column
                    convertDesignTimeComp.SetOutputColumnProperty(cvtOutput.ID,
                                                                  cvtOutputCol.ID, "SourceInputColumnLineageID", srcColID);
                    // add match table entry.
                    colConnectTable.Add(cvtOutputCol.ID, destCol);
                }
            }
        }
Beispiel #12
0
        //  todo:
        //  CacheMode

        //  https://blogs.msdn.microsoft.com/mattm/2009/01/02/api-sample-lookup-transform/

        public IDTSComponentMetaData100 AddComp_Lookup(string componentName,
                                                       string conManName,
                                                       string sqlComm,
                                                       IDTSOutput100 outCols,
                                                       List <string> joinColumns,
                                                       Dictionary <string, string> newColumns,
                                                       DTSRowDisposition rowDisposition = DTSRowDisposition.RD_IgnoreFailure,
                                                       int redirectRowsToNoMatchOutput  = 0
                                                       )
        {
            //  Create

            IDTSComponentMetaData100 Comp = dmp.ComponentMetaDataCollection.New();

            Comp.ComponentClassID = "Microsoft.Lookup";

            //  Instantiate

            CManagedComponentWrapper Inst = Comp.Instantiate();

            Inst.ProvideComponentProperties();

            Comp.Name        = componentName;
            Comp.Description = "Dodany Lookup";

            //  Connect

            IDTSPath100 pth = dmp.PathCollection.New();

            pth.AttachPathAndPropagateNotifications(outCols, Comp.InputCollection[0]);

            //  GetConnectionManager

            ConnectionManager cm = prj.ConnectionManagerItems[conManName + ".conmgr"].ConnectionManager;

            Comp.RuntimeConnectionCollection[0].ConnectionManager   = DtsConvert.GetExtendedInterface(cm);
            Comp.RuntimeConnectionCollection[0].ConnectionManagerID = cm.ID;

            //  Parametrize #1

            IDTSOutput100 lmo = Comp.OutputCollection["Lookup Match Output"];

            lmo.ErrorRowDisposition = rowDisposition;

            //  Cache Type:
            //  0   =   Full
            //  1   =   Partial
            //  2   =   None
            Inst.SetComponentProperty("CacheType", 0);

            //  0   =   FailComponent, IgnoreFailure, RedirectRowsToErrorOutput
            //  1   =   RedirectRowsToNoMatchOutput
            Inst.SetComponentProperty("NoMatchBehavior", redirectRowsToNoMatchOutput);
            Inst.SetComponentProperty("SqlCommand", sqlComm);

            //  MetaData

            Inst.AcquireConnections(null);
            Inst.ReinitializeMetaData();
            Inst.ReleaseConnections();

            //  Parametrize #2 - Join Columns

            IDTSInput100 lkpInput = Comp.InputCollection[0];
            IDTSInputColumnCollection100        lkpInputCols     = lkpInput.InputColumnCollection;
            IDTSVirtualInput100                 lkpVirtInput     = lkpInput.GetVirtualInput();
            IDTSVirtualInputColumnCollection100 lkpVirtInputCols = lkpVirtInput.VirtualInputColumnCollection;

            foreach (string columnName in joinColumns)
            {
                IDTSVirtualInputColumn100 vColumn     = lkpVirtInputCols[columnName];
                IDTSInputColumn100        inputColumn = Inst.SetUsageType(lkpInput.ID, lkpVirtInput, vColumn.LineageID, DTSUsageType.UT_READONLY);
                Inst.SetInputColumnProperty(lkpInput.ID, inputColumn.ID, "JoinToReferenceColumn", columnName);
            }

            //  Parametrize #3 - New Lookup Columns

            IDTSOutput100 lookupMatchOutput = Comp.OutputCollection["Lookup Match Output"];

            foreach (string srcCol in newColumns.Keys)
            {
                string newColumnName = newColumns[srcCol];
                string description   = string.Format("Copy of {0}", srcCol);

                IDTSOutputColumn100 outputColumn = Inst.InsertOutputColumnAt(lookupMatchOutput.ID, 0, newColumnName, description);
                Inst.SetOutputColumnProperty(lookupMatchOutput.ID, outputColumn.ID, "CopyFromReferenceColumn", srcCol);
            }

            //  Return

            return(Comp);
        }
        public void AddPathsAndConnectColumns(Hashtable colPairs)
        {
            IDTSOutput100 srcOutput = srcComp.OutputCollection[0];
            IDTSOutputColumnCollection100 srcOutputCols = srcOutput.OutputColumnCollection;
            IDTSInput100 destInput = destComp.InputCollection[0];
            IDTSInputColumnCollection100            destInputCols = destInput.InputColumnCollection;
            IDTSExternalMetadataColumnCollection100 destExtCols   = destInput.ExternalMetadataColumnCollection;

            Hashtable destColtable = new Hashtable(destExtCols.Count);

            foreach (IDTSExternalMetadataColumn100 extCol in destExtCols)
            {
                destColtable.Add(extCol.Name, extCol);
            }

            bool useMatch = (colPairs != null && colPairs.Count > 0);
            // colConvertTable stores a pair of columns which need a type conversion
            // colConnectTable stores a pair of columns which dont need a type conversion and can be connected directly.
            Hashtable colConvertTable = new Hashtable(srcOutputCols.Count);
            Hashtable colConnectTable = new Hashtable(srcOutputCols.Count);

            foreach (IDTSOutputColumn100 outputCol in srcOutputCols)
            {
                // Get the column name to look for in the destination.
                // Match column by name if match table is not used.
                String colNameToLookfor = String.Empty;
                if (useMatch)
                {
                    colNameToLookfor = (String)colPairs[outputCol.Name];
                }
                else
                {
                    colNameToLookfor = outputCol.Name;
                }

                IDTSExternalMetadataColumn100 extCol = (String.IsNullOrEmpty(colNameToLookfor)) ? null : (IDTSExternalMetadataColumn100)destColtable[colNameToLookfor];
                // Does the destination column exist?
                if (extCol != null)
                {
                    // Found destination column, but is data type conversion needed?
                    if (NeedConvert(outputCol.DataType, extCol.DataType))
                    {
                        colConvertTable.Add(outputCol.ID, extCol);
                    }
                    else
                    {
                        colConnectTable.Add(outputCol.ID, extCol);
                    }
                }
            }
            if (colConvertTable.Count > 0)
            {
                // add convert component
                AddConvertComponent(colConvertTable, colConnectTable);
                pipeline.PathCollection.New().AttachPathAndPropagateNotifications(convertComp.OutputCollection[0], destInput);
            }
            else
            {
                // Convert transform not needed. Connect src and destination directly.
                pipeline.PathCollection.New().AttachPathAndPropagateNotifications(srcOutput, destInput);
            }

            IDTSVirtualInput100 destVirInput = destInput.GetVirtualInput();

            foreach (object key in colConnectTable.Keys)
            {
                int colID = (int)key;
                IDTSExternalMetadataColumn100 extCol = (IDTSExternalMetadataColumn100)colConnectTable[key];
                // Create an input column from an output col of previous component.
                destVirInput.SetUsageType(colID, DTSUsageType.UT_READONLY);
                IDTSInputColumn100 inputCol = destInputCols.GetInputColumnByLineageID(colID);
                if (inputCol != null)
                {
                    // map the input column with an external metadata column
                    destDesignTimeComp.MapInputColumn(destInput.ID, inputCol.ID, extCol.ID);
                }
            }
        }
Beispiel #14
0
 public void Parse(String bstrExpression, IDTSVariableDispenser100 pVariableDispenser,
     IDTSInputColumnCollection100 pColumnCollection)
 {
     _innerObject.Parse(bstrExpression, pVariableDispenser, pColumnCollection);
 }
Beispiel #15
0
 internal BipsProxyIDTSInputColumnCollection100(IDTSInputColumnCollection100 innerObject)
 {
     _innerObject = innerObject;
 }
        public void RebuildMappings(IDTSVirtualInputColumnCollection100 virtualInputColumns, IDTSInputColumnCollection100 inputColumns)
        {
            Hashtable       mappingsInput         = new Hashtable();
            List <object[]> mappingsWithoutInputs = new List <object[]>();
            List <object[]> newMappings           = new List <object[]>();

            //Speichern der bisherigen Mappings in 2 Listen (1x mit Input-Mapping, 1x ohne)
            for (int i = 0; i < this.MappingRowCount; i++)
            {
                object[] row = this.GetMappingRow(i);


                if (row[Constants.MAPPING_IDX_INPUT_COL_NAME] != null &&
                    row[Constants.MAPPING_IDX_INPUT_COL_NAME].ToString() != "")
                {
                    mappingsInput.Add(row[Constants.MAPPING_IDX_INPUT_COLUMN_ID], row);
                }
                else
                {
                    mappingsWithoutInputs.Add(row);
                }
            }


            //Generieren von neuen MappingRows anhand der InputColumns
            foreach (IDTSInputColumn100 inputCol in inputColumns)
            {
                object[] row;

                if (mappingsInput.Contains(inputCol.ID))
                {
                    row = (object[])mappingsInput[inputCol.ID];
                    row[Constants.MAPPING_IDX_INPUT_COL_NAME] = inputCol.Name;
                    row[Constants.MAPPING_IDX_DATATYPE_INPUT] = SqlCreator.GetSQLServerDataTypeFromInput(inputCol);//inputCol.DataType.ToString();
                }
                else
                {
                    row = new object[Constants.MAPPING_COUNT];

                    row[Constants.MAPPING_IDX_USE_INSERT]      = true;
                    row[Constants.MAPPING_IDX_USE_UPDATE]      = true;
                    row[Constants.MAPPING_IDX_KEY]             = false;
                    row[Constants.MAPPING_IDX_INPUT_COL_NAME]  = inputCol.Name;
                    row[Constants.MAPPING_IDX_OUTPUT_COL_NAME] = Constants.MAPPING_NOT_ASSIGNED;
                    row[Constants.MAPPING_IDX_DEFAULT]         = "";
                    row[Constants.MAPPING_IDX_DATATYPE_INPUT]  = SqlCreator.GetSQLServerDataTypeFromInput(inputCol);//inputCol.DataType.ToString();
                    row[Constants.MAPPING_IDX_INPUT_COLUMN_ID] = inputCol.ID;
                }

                newMappings.Add(row);
            }

            //Aufbauen der neuen Mapping Properties
            this.RemoveMappings();

            foreach (object[] row in newMappings)
            {
                this.AddMappingProperty(row);
            }
            foreach (object[] row in mappingsWithoutInputs)
            {
                this.AddMappingProperty(row);
            }
        }