C# Winforms中的SQL作业状态
我已经创建了一个windows应用程序,它可以触发SQL Server上的SQL作业。这就是我编写代码来触发作业的方式C# Winforms中的SQL作业状态,c#,sql,.net,sql-server,winforms,C#,Sql,.net,Sql Server,Winforms,我已经创建了一个windows应用程序,它可以触发SQL Server上的SQL作业。这就是我编写代码来触发作业的方式 SqlCommand ExecJob = new SqlCommand(); ExecJob.Connection = sqlConn; ExecJob.CommandType = CommandType.StoredProcedure; ExecJob.CommandText = "msdb.dbo.sp_start_job"; ExecJob.Parameters.Add
SqlCommand ExecJob = new SqlCommand();
ExecJob.Connection = sqlConn;
ExecJob.CommandType = CommandType.StoredProcedure;
ExecJob.CommandText = "msdb.dbo.sp_start_job";
ExecJob.Parameters.AddWithValue("@job_name", "DataImport");
sqlConn.Open();
ExecJob.ExecuteNonQuery();
它运行正常,大约在40秒内完成。我不想在我的程序中启用某些功能,直到此作业成功完成。有人知道我怎么做吗 我想我有点理解你的问题。。。最好的方法是将存储过程的输出设置为一个特定的值,然后将该值传递到程序中,并检查该值,根据过程是否成功运行,查看是否应启用或禁用功能 在这里,您可以找到一篇文章,介绍如何获取sql作业的状态
然后,您只需要定义一个计时器,用于汇集数据库并请求作业状态。不理解您的问题。为什么不在ExecuteOnQuery完成后立即启用函数?ExecuteOnQuery的可能重复只是启动作业的查询。这项工作可能需要40秒,但SqlCommand不会坐等它。