Example #1
0
        /// <summary>
        /// 创建 foreach容器
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="PreviousComponent"></param>
        /// <returns></returns>
        private EzForEachLoop CreateEzForEachLoop(EzContainer parent, EzExecutable PreviousComponent)
        {
            EzForEachLoop ForEachContainer = new EzForEachLoop(parent)
            {
                Name = "Replenish data by month"
            };

            if (PreviousComponent != null)
            {
                ForEachContainer.AttachTo(PreviousComponent);
            }
            ForEachContainer.Initialize(ForEachEnumeratorType.ForEachADOEnumerator);
            //ForEachContainer.ForEachEnumerator = ForEachEnumeratorType.ForEachADOEnumerator;

            ForEachADOEnumerator ado_enum = (ForEachADOEnumerator)ForEachContainer.ForEachEnumerator.InnerObject;

            ado_enum.Type = ADOEnumerationType.EnumerateRowsInFirstTable;
            ado_enum.DataObjectVariable = "User::TimeList";

            ForEachContainer.VariableMappings.Add();
            ForEachContainer.VariableMappings[0].VariableName = "User::StartTime";
            ForEachContainer.VariableMappings[0].ValueIndex   = "0";

            ForEachContainer.VariableMappings.Add();
            ForEachContainer.VariableMappings[1].VariableName = "User::EndTime";
            ForEachContainer.VariableMappings[1].ValueIndex   = "1";


            //ezContainer.VariableMappings

            //EzForEachLoop ezf = new EzForEachLoop(this);
            //ForEachContainer.Initialize(ForEachEnumeratorType.ForEachADOEnumerator);
            return(ForEachContainer);
        }
Example #2
0
        /// <summary>
        /// 创建 序列容器
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="PreviousComponent"></param>
        /// <returns></returns>
        private EzSequence CreateEzSequence(EzContainer parent, EzExecutable PreviousComponent)
        {
            EzSequence ezContainer = new EzSequence(parent);

            if (PreviousComponent != null)
            {
                ezContainer.AttachTo(PreviousComponent);
            }
            ezContainer.Name = "Data Flows";
            return(ezContainer);
        }
Example #3
0
        /// <summary>
        /// 创建执行SQL任务
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="task"></param>
        /// <param name="PreviousComponent"></param>
        /// <returns></returns>
        private EzExecSqlTask createEzExecSqlTask(EzContainer parent, Task task, EzExecutable PreviousComponent)
        {
            EzExecSqlTask ezExecSqlTask = new EzExecSqlTask(parent);

            if (PreviousComponent != null)
            {
                ezExecSqlTask.AttachTo(PreviousComponent);
            }
            ezExecSqlTask.Name                   = task.TaskName;
            ezExecSqlTask.Connection             = ezOleDbConnectionManagers[task.SourceConmgrId]; //EzOleDbConMgrSource;
            ezExecSqlTask.SqlStatementSourceType = Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.SqlStatementSourceType.DirectInput;
            ezExecSqlTask.SqlStatementSource     = task.SqlCommand;
            return(ezExecSqlTask);
        }
Example #4
0
        /// <summary>
        /// 创建 数据流任务
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="task"></param>
        /// <param name="PreviousComponent"></param>
        /// <returns></returns>
        private EzDataFlow createEzDataFlow(EzContainer parent, Task task, EzExecutable PreviousComponent, Variables Variables)
        {
            //Adding a data flow task
            EzDataFlow dataflow = new EzDataFlow(parent);

            if (PreviousComponent != null)
            {
                dataflow.AttachTo(PreviousComponent);
            }
            dataflow.Name = task.TaskName + "_" + task.TaskId;
            EzOleDbSource source = new EzOleDbSource(dataflow)
            {
                Name = task.TaskName,
                //source.SqlCommand =string.Format("exec [dbo].[{0}] ",task.SourceTableName);
                SqlCommand = task.SourceTableName,


                Connection = ezOleDbConnectionManagers[task.SourceConmgrId],
                //source.Table = task.SourceTableName;
                AccessMode = AccessMode.AM_SQLCOMMAND
            };

            string start_guid = "";
            string end_guid   = "";

            foreach (Variable x in Variables)
            {
                if (x.Namespace == "User")
                {
                    if (x.Name == "StartTime" || x.Name == "EndTime")
                    {
                        if (x.Name == "StartTime")
                        {
                            start_guid = x.ID;
                            if (end_guid != "")
                            {
                                break;
                            }
                        }
                        else
                        {
                            end_guid = x.ID;
                            if (start_guid != "")
                            {
                                break;
                            }
                        }
                    }
                }
            }
            source.SetComponentProperty("ParameterMapping", "\"@StartTime:Input\"," + start_guid + ";\"@EndTime:Input\"," + end_guid + ";");
            //Adding an OLE DB Destination
            EzOleDbDestination destination = new EzOleDbDestination(dataflow)
            {
                Name       = task.TargetTableName,
                Connection = ezOleDbConnectionManagers[task.TargetConmgrId],
                AccessMode = AccessMode.AM_OPENROWSET_FASTLOAD,
                Table      = task.TargetTableName
            };

            //Linking source and destination
            destination.AttachTo(source);
            destination.LinkAllInputsToOutputs();
            return(dataflow);
        }