远程调用SQL SERVER AGENT 里的JOB,如何判断其调用是否成功,是否完成

lionheart922 2008-11-21 11:21:18
如题,在C#里远程调用 SQL SERVER AGENT 里的JOB

如何判断其调用是否成功,是否完成

SqlConnection jobConnection;
SqlCommand jobCommand;
SqlParameter jobReturnValue;
SqlParameter jobParameter;
int jobResult;
try
{

jobConnection = new SqlConnection("Data Source=SHNI310;Initial Catalog=msdb;Persist Security Info=True;User ID=sa;Password=password1$");
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 = "TestSSISJob";

jobConnection.Open();
jobCommand.ExecuteNonQuery();
jobResult = (Int32)jobCommand.Parameters["@RETURN_VALUE"].Value;
jobConnection.Close();

switch (jobResult)
{
case 0:
//Console.WriteLine("SQL Server Agent job, RunSISSPackage, started successfully.");
break;
default:
// Console.WriteLine("SQL Server Agent job, RunSISSPackage, failed to start.");
break;
}
}
catch (Exception ex)
{
string s = ex.Message;
}


这个代码只是返回是否开始调用成功
但是调用的结果
什么时候调用完毕 这些怎么才能知道哦?
...全文
321 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lionheart922 2008-11-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 rucypli 的回复:]
sysjobhistory
包含有关 SQL Server 代理执行计划作业的信息。 此表存储在 msdb 数据库中。

字段run_status
int
作业的执行状态:

0 = 失败

1 = 成功

2 = 重试

3 = 已取消

4 = 正在进行中
[/Quote]


这个有点问题啊

我要反复去读取这个字段的值才行啊

我的想法是有没有类似事件一样 告诉我这个job调用完毕了!
rucypli 2008-11-21
  • 打赏
  • 举报
回复
sysjobhistory
包含有关 SQL Server 代理执行计划作业的信息。 此表存储在 msdb 数据库中。

字段run_status
int
作业的执行状态:

0 = 失败

1 = 成功

2 = 重试

3 = 已取消

4 = 正在进行中
CN_SQL 2008-11-21
  • 打赏
  • 举报
回复
去查MSDB数据库里的系统表sysjobhistory,你看看帮助对表的字段说明就知道了.

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧