Exemplo n.º 1
0
        public void UpdateJob(AscmJob ascmJob)
        {
            try
            {
                //int count = YnDaoHelper.GetInstance().nHibernateHelper.GetCountByList("select count(*) from AscmJob where jobName='" + ascmJob.jobName + "'");
                //if (count == 0)
                //    throw new Exception("作业【" + ascmJob.jobName + "】不存在!");
                AscmJob _ascmJob = Get(ascmJob.jobName);
                if (_ascmJob == null)
                {
                    throw new Exception("作业【" + ascmJob.jobName + "】不存在!");
                }
                var commandParameters = GetCommandParameters(ascmJob);

                //放在事务中执行报异常
                //ExecuteOracleProcedure("ascm_scheduler.sp_update_job", commandParameters);

                ISession   session = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession();
                IDbCommand command = session.Connection.CreateCommand();
                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = "ascm_scheduler.sp_update_job";
                Array.ForEach <OracleParameter>(commandParameters, P => command.Parameters.Add(P));
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
 public void RunJob(string jobName)
 {
     try
     {
         //int count = YnDaoHelper.GetInstance().nHibernateHelper.GetCountByList("select count(*) from AscmJob where jobName='" + jobName + "'");
         //if (count == 0)
         //    throw new Exception("作业【" + jobName + "】不存在!");
         AscmJob _ascmJob = Get(jobName);
         if (_ascmJob == null)
         {
             throw new Exception("作业【" + jobName + "】不存在!");
         }
         OracleParameter[] commandParameters = new OracleParameter[] {
             new OracleParameter {
                 ParameterName = "i_job_name",
                 OracleDbType  = OracleDbType.Varchar2,
                 Value         = jobName,
                 Direction     = ParameterDirection.Input
             },
             new OracleParameter {
                 ParameterName = "i_use_current_session",
                 OracleDbType  = OracleDbType.Varchar2,
                 Value         = "TRUE",
                 Direction     = ParameterDirection.Input
             }
         };
         ExecuteOracleProcedure("ascm_scheduler.sp_run_job", commandParameters);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 3
0
        public AscmJob Get(string jobName)
        {
            AscmJob ascmJob = null;

            try
            {
                ascmJob = YnDaoHelper.GetInstance().nHibernateHelper.Get <AscmJob>(jobName.ToUpper());
            }
            catch (Exception ex)
            {
                YnBaseClass2.Helper.LogHelper.GetLog().Error("查询失败(Get AscmJob)", ex);
                throw ex;
            }
            return(ascmJob);
        }
Exemplo n.º 4
0
 public void DropJob(string jobName)
 {
     try
     {
         //int count = YnDaoHelper.GetInstance().nHibernateHelper.GetCountByList("select count(*) from AscmJob where jobName='" + jobName + "'");
         //if (count == 0)
         //    throw new Exception("作业【" + jobName + "】不存在!");
         AscmJob _ascmJob = Get(jobName);
         if (_ascmJob == null)
         {
             throw new Exception("作业【" + jobName + "】不存在!");
         }
         OracleParameter[] commandParameters = new OracleParameter[] {
             new OracleParameter {
                 ParameterName = "i_job_name",
                 OracleDbType  = OracleDbType.Varchar2,
                 Value         = jobName,
                 Direction     = ParameterDirection.Input
             },
             new OracleParameter {
                 ParameterName = "i_force",
                 OracleDbType  = OracleDbType.Varchar2,
                 Value         = "FALSE",
                 Direction     = ParameterDirection.Input
             },
             new OracleParameter {
                 ParameterName = "i_defer",
                 OracleDbType  = OracleDbType.Varchar2,
                 Value         = "FALSE",
                 Direction     = ParameterDirection.Input
             },
             new OracleParameter {
                 ParameterName = "i_commit_semantics",
                 OracleDbType  = OracleDbType.Varchar2,
                 Value         = "STOP_ON_FIRST_ERROR",
                 Direction     = ParameterDirection.Input
             }
         };
         ExecuteOracleProcedure("ascm_scheduler.sp_drop_job", commandParameters);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 5
0
 public void CreateJob(AscmJob ascmJob)
 {
     try
     {
         //int count = YnDaoHelper.GetInstance().nHibernateHelper.GetCountByList("select count(*) from AscmJob where jobName='" + ascmJob.jobName + "'");
         //if (count > 0)
         //    throw new Exception("作业【" + ascmJob.jobName + "】已存在!");
         AscmJob _ascmJob = Get(ascmJob.jobName);
         if (_ascmJob != null)
             throw new Exception("作业【" + ascmJob.jobName + "】已存在!");
         var commandParameters = GetCommandParameters(ascmJob);
         ExecuteOracleProcedure("ascm_scheduler.sp_create_job", commandParameters);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 6
0
 public void CreateJob(AscmJob ascmJob)
 {
     try
     {
         //int count = YnDaoHelper.GetInstance().nHibernateHelper.GetCountByList("select count(*) from AscmJob where jobName='" + ascmJob.jobName + "'");
         //if (count > 0)
         //    throw new Exception("作业【" + ascmJob.jobName + "】已存在!");
         AscmJob _ascmJob = Get(ascmJob.jobName);
         if (_ascmJob != null)
         {
             throw new Exception("作业【" + ascmJob.jobName + "】已存在!");
         }
         var commandParameters = GetCommandParameters(ascmJob);
         ExecuteOracleProcedure("ascm_scheduler.sp_create_job", commandParameters);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 7
0
        public ContentResult SaveJob(AscmJob ascmJob_Model, string id, string argumentJson)
        {
            JsonObjectResult jsonObjectResult = new JsonObjectResult();
            try
            {
                if (ascmJob_Model == null)
                    throw new Exception("传参错误!");
                if (ascmJob_Model.jobName == null || ascmJob_Model.jobName.Trim() == "")
                    throw new Exception("作业名称不能为空!");
                //bool isAdd = (id == null || id.Trim() == "");
                bool isAdd = false;
                string jobName = ascmJob_Model.jobName.Trim();
                AscmJob ascmJob = AscmJobService.GetInstance().Get(jobName);
                if (ascmJob == null)
                {
                    ascmJob = new AscmJob();
                    ascmJob.jobName = jobName;

                    isAdd = true;
                }
                ascmJob.comments = ascmJob_Model.comments.Trim();
                ascmJob.enabled = ascmJob_Model.enabled;
                ascmJob.autoDrop = ascmJob_Model.autoDrop;
                ascmJob.startDate = ascmJob_Model.startDate;
                JobRepeatInterval jobRepeatInterval = new JobRepeatInterval(
                    ascmJob_Model.freq,
                    ascmJob_Model.interval,
                    ascmJob_Model.byMonthDay,
                    ascmJob_Model.byDay,
                    ascmJob_Model.byTime);
                ascmJob.repeatInterval = jobRepeatInterval.ToString();
                ascmJob.jobAction = ascmJob_Model.jobAction;
                List<AscmProcedureArgument> listProcedureArgument = null;
                if (!string.IsNullOrEmpty(argumentJson))
                    listProcedureArgument = JsonConvert.DeserializeObject<List<AscmProcedureArgument>>(argumentJson);
                //if (!string.IsNullOrEmpty(argumentJson))
                //{
                //    List<AscmProcedureArgument> listProcedureArgument_Model = JsonConvert.DeserializeObject<List<AscmProcedureArgument>>(argumentJson);
                //    if (listProcedureArgument_Model != null)
                //    {
                //        listProcedureArgument = new List<AscmProcedureArgument>();
                //        foreach (AscmProcedureArgument ascmProcedureArgument in listProcedureArgument_Model)
                //        {
                //            if (!string.IsNullOrEmpty(ascmProcedureArgument.argumentName))
                //                listProcedureArgument.Add(ascmProcedureArgument);
                //        }
                //    }
                //}
                ascmJob.listProcedureArgument = listProcedureArgument;
                if (isAdd)
                    AscmJobService.GetInstance().CreateJob(ascmJob);
                else
                    AscmJobService.GetInstance().UpdateJob(ascmJob);
                jsonObjectResult.result = true;
                jsonObjectResult.id = jobName;
                jsonObjectResult.message = isAdd ? "作业创建成功!" : "作业修改成功!";
            }
            catch (Exception ex)
            {
                jsonObjectResult.message = ex.Message;
            }
            string sReturn = JsonConvert.SerializeObject(jsonObjectResult);
            return Content(sReturn);
        }
Exemplo n.º 8
0
        public void UpdateJob(AscmJob ascmJob)
        {
            try
            {
                //int count = YnDaoHelper.GetInstance().nHibernateHelper.GetCountByList("select count(*) from AscmJob where jobName='" + ascmJob.jobName + "'");
                //if (count == 0)
                //    throw new Exception("作业【" + ascmJob.jobName + "】不存在!");
                AscmJob _ascmJob = Get(ascmJob.jobName);
                if (_ascmJob == null)
                    throw new Exception("作业【" + ascmJob.jobName + "】不存在!");
                var commandParameters = GetCommandParameters(ascmJob);

                //放在事务中执行报异常
                //ExecuteOracleProcedure("ascm_scheduler.sp_update_job", commandParameters);

                ISession session = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession();
                IDbCommand command = session.Connection.CreateCommand();
                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = "ascm_scheduler.sp_update_job";
                Array.ForEach<OracleParameter>(commandParameters, P => command.Parameters.Add(P));
                command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 9
0
 public OracleParameter[] GetCommandParameters(AscmJob ascmJob)
 {
     string[] arguments = null;
     if (ascmJob.listProcedureArgument != null)
         arguments = ascmJob.listProcedureArgument.Select(P => P.value).ToArray();
     return new OracleParameter[]{
         new OracleParameter{
             ParameterName = "i_job_name",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.jobName,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_job_type",
             OracleDbType = OracleDbType.Varchar2,
             Value = "STORED_PROCEDURE",
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_job_action",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.jobAction,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_number_of_arguments",
             OracleDbType = OracleDbType.Int32,
             Value = arguments == null ? 0 : arguments.Length,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_start_date",
             OracleDbType = OracleDbType.Varchar2, //OracleDbType.TimestampWithTZ,
             Value = ascmJob.startDate,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_repeat_interval",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.repeatInterval,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_end_date",
             OracleDbType = OracleDbType.Varchar2, //OracleDbType.TimestampWithTZ,
             Value = ascmJob.endDate,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_job_class",
             OracleDbType = OracleDbType.Varchar2,
             Value = "DEFAULT_JOB_CLASS",
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_enabled",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.enabled,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_auto_drop",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.autoDrop,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_comments",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.comments,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_credential_name",
             OracleDbType = OracleDbType.Varchar2,
             Value = null,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_destination_name",
             OracleDbType = OracleDbType.Varchar2,
             Value = null,
             Direction = ParameterDirection.Input
         },
         new OracleParameter{
             ParameterName = "i_arguments_array",
             OracleDbType = OracleDbType.Varchar2,
             Value = arguments,
             Direction = ParameterDirection.Input,
             CollectionType = OracleCollectionType.PLSQLAssociativeArray
         }
     };
 }
Exemplo n.º 10
0
 public OracleParameter[] GetCommandParameters(AscmJob ascmJob)
 {
     string[] arguments = null;
     if (ascmJob.listProcedureArgument != null)
     {
         arguments = ascmJob.listProcedureArgument.Select(P => P.value).ToArray();
     }
     return(new OracleParameter[] {
         new OracleParameter {
             ParameterName = "i_job_name",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.jobName,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_job_type",
             OracleDbType = OracleDbType.Varchar2,
             Value = "STORED_PROCEDURE",
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_job_action",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.jobAction,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_number_of_arguments",
             OracleDbType = OracleDbType.Int32,
             Value = arguments == null ? 0 : arguments.Length,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_start_date",
             OracleDbType = OracleDbType.Varchar2, //OracleDbType.TimestampWithTZ,
             Value = ascmJob.startDate,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_repeat_interval",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.repeatInterval,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_end_date",
             OracleDbType = OracleDbType.Varchar2, //OracleDbType.TimestampWithTZ,
             Value = ascmJob.endDate,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_job_class",
             OracleDbType = OracleDbType.Varchar2,
             Value = "DEFAULT_JOB_CLASS",
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_enabled",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.enabled,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_auto_drop",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.autoDrop,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_comments",
             OracleDbType = OracleDbType.Varchar2,
             Value = ascmJob.comments,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_credential_name",
             OracleDbType = OracleDbType.Varchar2,
             Value = null,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_destination_name",
             OracleDbType = OracleDbType.Varchar2,
             Value = null,
             Direction = ParameterDirection.Input
         },
         new OracleParameter {
             ParameterName = "i_arguments_array",
             OracleDbType = OracleDbType.Varchar2,
             Value = arguments,
             Direction = ParameterDirection.Input,
             CollectionType = OracleCollectionType.PLSQLAssociativeArray
         }
     });
 }