Exemple #1
0
        private void RunSP(object jobName)
        {
            try
            {
                DataRow rowOfJob = this.FindRow(jobName.ToString());
                rowOfJob["RunStatus"] = "运行中";

                ProcedureParameter pp1 = new ProcedureParameter("v_jobList", typeof(string), 40, DirectionType.Input, jobName.ToString());
                ProcedureParameter pp2 = new ProcedureParameter("v_date", typeof(int), 8, DirectionType.Input, m_InputDate);

                ProcedureCondition pc = new ProcedureCondition("PKG_DBTRANSFER.Transfer", new ProcedureParameter[] { pp1, pp2 });

                // 多线程Run每一个任务,每一个任务自己创建自己的数据库链接
                IDomainDataProvider newProvider = DomainDataProviderManager.DomainDataProvider();
                newProvider.CustomProcedure(ref pc);

                Thread.Sleep(10000);

                rowOfJob["RunStatus"] = "完成";

                TransferJob job = TransferFacade.GetTransferJob(Convert.ToInt32(rowOfJob["Serial"])) as TransferJob;
                rowOfJob["LastRunDate"]     = job.LastRunDate == 0 ? "0" : FormatHelper.TODateTimeString(job.LastRunDate, job.LastRunTime);
                rowOfJob["LastSuccessDate"] = job.LastSuccessDate == 0 ? "0" : FormatHelper.TODateTimeString(job.LastSuccessDate, job.LastSuccessTime);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                this.Invoke(new Action <int>(this.SetFlag), 1);
            }
        }