目前,我陷入了一个我没有(不够)专业知识的领域。 我使用具有“异步处理=真”的连接字符串在即时sp中调用MSSQL作业,该特定于此任务。
String connectionString = ConfigurationManager.ConnectionStrings["dbSSIS"].ConnectionString; SqlConnection jobConnection; SqlCommand jobCommand; SqlParameter jobReturnValue; SqlParameter jobParameter; int jobResult; jobConnection = new SqlConnection(connectionString); jobCommand = new SqlCommand("msdb.dbo.sp_start_job", jobConnection); jobCommand.CommandType = CommandType.StoredProcedure; jobReturnValue = new SqlParameter("@RETURN_VALUE", SqlDbType.Int); jobReturnValue.Direction = ParameterDirection.ReturnValue; jobCommand.Parameters.Add(jobReturnValue); jobParameter = new SqlParameter("@job_name", SqlDbType.VarChar); jobParameter.Direction = ParameterDirection.Input; jobCommand.Parameters.Add(jobParameter); jobParameter.Value = "Jobname"; jobConnection.Open(); jobCommand.ExecuteNonQuery(); jobResult = (Int32)jobCommand.Parameters["@RETURN_VALUE"].Value; jobConnection.Close();
使用“msdb.dbo.sp_start_job”代码完成作业。但是当添加:
System.Threading.Thread.Sleep(5000);
作业在代理启动的作业中间某处停止。我想睡眠的原因是因为我想对SSIS填充的事件表进行选择调用。所以我知道什么时候结束,在什么阶段。
睡眠在哪里出错?