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); } }