Пример #1
0
        /// <summary>
        /// Insert merge statement into TableLoaders database (merge) command
        /// </summary>
        /// <param name="merge">TableLoaders database (merge) command</param>
        /// <param name="properties">Components custom properties</param>
        /// <param name="tempTableName">TableLoader temporary table</param>
        /// <param name="enableIndexOnSCD">Enable SCD temporary table nonclusterd index?</param>
        /// <returns>TableLoaders database (merge) command with merge statement for SCD</returns>
        public string InsertIntoMergeStatement(string merge, IsagCustomProperties properties, string tempTableName, bool enableIndexOnSCD)
        {
            string tempTableScd = "SCD_" + tempTableName;

            merge = merge.Trim();
            merge = merge.Substring(0, merge.Length - 1); //Semikolon entfernen

            string result = GetCreateTempTable(tempTableScd, enableIndexOnSCD) + Environment.NewLine + Environment.NewLine;

            result += merge + Environment.NewLine + Environment.NewLine;
            result += GetOutputPart(tempTableScd) + Environment.NewLine + Environment.NewLine;
            foreach (string scdTableName in _scdList.Keys)
            {
                result += _scdList[scdTableName].GetMergeStatement(tempTableScd) + Environment.NewLine + Environment.NewLine;
                ;
            }

            result += GetDropTempTable(tempTableScd);

            return(result);
        }
Пример #2
0
        /// <summary>
        /// Updates input column custom property (GUIDs)
        /// </summary>
        /// <param name="col">the SSIS input column</param>
        /// <param name="componentMetaData">>the components metadata</param>
        /// <param name="isagCustomProperties">the components custom properties</param>
        private static void UpdateInputIdProperty(IDTSInputColumn100 col, IDTSComponentMetaData100 componentMetaData, IsagCustomProperties isagCustomProperties)
        {
            string guid;
            bool   save = false;


            if (HasIdProperty(col.CustomPropertyCollection, PropertyType.OutputColumn))
            {
                guid = (string)col.CustomPropertyCollection[IdPorpertyNameList[(int)PropertyType.OutputColumn]].Value;
                foreach (OutputConfig config in isagCustomProperties.OutputConfigList)
                {
                    if (config.CustomId == guid)
                    {
                        config.DftColumnId = col.ID;
                        save = true;
                    }
                }
            }

            if (HasIdProperty(col.CustomPropertyCollection, PropertyType.ValidParamter))
            {
                guid = (string)col.CustomPropertyCollection[IdPorpertyNameList[(int)PropertyType.ValidParamter]].Value;
                if (isagCustomProperties.LU2_ValidparameterCustomId == guid)
                {
                    isagCustomProperties.LU2_ValidparameterId = col.ID;
                    save = true;
                }
            }

            if (HasIdProperty(col.CustomPropertyCollection, PropertyType.MatchParameter))
            {
                guid = (string)col.CustomPropertyCollection[IdPorpertyNameList[(int)PropertyType.MatchParameter]].Value;
                if (isagCustomProperties.LU_MatchparameterCustomId == guid)
                {
                    isagCustomProperties.LU_MatchparameterId = col.ID;
                    save = true;
                }
            }

            if (save)
            {
                isagCustomProperties.Save(componentMetaData);
            }
        }
Пример #3
0
 /// <summary>
 /// Updates input columns custom properties (GUIDs)
 /// </summary>
 /// <param name="input">the components input</param>
 /// <param name="componentMetaData">>the components metadata</param>
 /// <param name="isagCustomProperties">the components custom properties</param>
 private static void UpdateInputIdProperties(IDTSInput100 input, IDTSComponentMetaData100 componentMetaData, IsagCustomProperties isagCustomProperties)
 {
     foreach (IDTSInputColumn100 col in input.InputColumnCollection)
     {
         UpdateInputIdProperty(col, componentMetaData, isagCustomProperties);
     }
 }
Пример #4
0
        /// <summary>
        /// Updates input columns custom properties (GUIDs)
        /// </summary>
        /// <param name="componentMetaData">the components metadata</param>
        /// <param name="isagCustomProperties">the components custom properties</param>
        public static void UpdateInputIdProperties(IDTSComponentMetaData100 componentMetaData, IsagCustomProperties isagCustomProperties)
        {
            if (!NeedsMapping())
            {
                return;
            }

            UpdateInputIdProperties(componentMetaData.InputCollection[0], componentMetaData, isagCustomProperties);
        }
Пример #5
0
        /// <summary>
        /// Updates input column custom property (GUIDs)
        /// </summary>
        /// <param name="col">the SSIS input column</param>
        /// <param name="componentMetaData">>the components metadata</param>
        /// <param name="isagCustomProperties">the components custom properties</param>
        private static void UpdateInputIdProperty(IDTSInputColumn100 col, IDTSComponentMetaData100 componentMetaData, IsagCustomProperties isagCustomProperties)
        {
            if (HasIdProperty(col.CustomPropertyCollection))
            {
                IDTSCustomProperty100 prop = col.CustomPropertyCollection[IdPropertyName];
                string guid = (string)col.CustomPropertyCollection[IdPropertyName].Value;

                foreach (ColumnConfig config in isagCustomProperties.ColumnConfigList)
                {
                    if (AreIdsEqual(config, guid))
                    {
                        UpdateColumnConfig(config, col, componentMetaData, isagCustomProperties);
                    }
                }
            }
        }
Пример #6
0
 /// <summary>
 /// Updates a ColumnConfig and saves the components custom properties
 /// </summary>
 /// <param name="config">ColumnConfig</param>
 /// <param name="col">SSIS column</param>
 /// <param name="componentMetaData">componets metadata</param>
 /// <param name="isagCustomProperties">components custom properties</param>
 private static void UpdateColumnConfig(ColumnConfig config, IDTSInputColumn100 col, IDTSComponentMetaData100 componentMetaData, IsagCustomProperties isagCustomProperties)
 {
     config.InputColumnId = col.ID;
     isagCustomProperties.Save(componentMetaData);
 }