【发布时间】:2023-03-27 08:02:01
【问题描述】:
我有一个 ASP.net 页面,它上传一个 Excel 文件,然后执行一个 SQL Server 作业,然后启动一个 SSIS 包来导入它。 我可以检查 Job 是否启动或启动失败,但是如何跟踪它的进度,或者至少知道它是否已成功完成运行并在 ASP.net 页面上显示结果?
我的代码如下:
protected void ProcessData(int num)
{
SqlConnection jobConnection;
SqlCommand jobCommand;
SqlParameter jobReturnValue;
SqlParameter jobParameter;
int jobResult;
//SSIS CONNECTION
jobConnection = new SqlConnection("Data Source=.\\XX_XXX;Initial Catalog=msdb;Integrated Security=SSPI");
jobCommand = new SqlCommand("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 = "RunXXX_Package0" + num;
jobConnection.Open();
jobCommand.ExecuteNonQuery();
jobResult = (Int32)jobCommand.Parameters["@RETURN_VALUE"].Value;
switch (jobResult)
{
case 0:
Label2.Text = "SQL Server Agent job, RunXXX_Package0" + num + " started successfully.";
break;
default:
Label2.Text = "SQL Server Agent job, RunXXX_Package0" + num + " failed to start.";
break;
}
jobConnection.Close();
}
【问题讨论】:
标签: sql asp.net sql-server ssis