首页 新闻 会员 周边

C# 调用sql2005作业,如何知道作业已经完成 监听?

0
悬赏园豆:100 [已解决问题] 解决于 2012-02-01 19:14

create PROCEDURE [dbo].[usp_Start_Job]

@job_name varchar(50)

 AS

 print '--------1---start----------'

exec msdb.dbo.sp_start_job @job_name

 print '--------2---end------------' 

请教下。像这样调用了一个作业。。那我下面如何知道作业是否完成了呢?我写了个应用程序先调用这个作业。等这个作业完成了,我应用程序才能执行其它的工作。。

武琥的主页 武琥 | 初学一级 | 园豆:5
提问于:2012-01-01 14:54
< >
分享
最佳答案
1

可以知道作业是否完成,查看MSDB数据库中系统表sysjobhistory,并联合查询sysjobs表,SQL语句如下:

 SELECT b.name ,
a.*
FROM msdb.dbo.sysjobhistory a ,
sysjobs b
WHERE a.job_id = b.job_id

sysjobhistory字段信息如下:

http://msdn.microsoft.com/zh-cn/library/ms174997.aspx

查询以后,根据run_status的值就可以知道作业是否完成。为1是完成状态,0为失败。

收获园豆:100
NetSQL | 小虾三级 |园豆:1737 | 2012-01-01 22:19
其他回答(3)
0

可不可以新建一个表,记录作业是否完成,然后你的应用程序就去检测那个记录就行了啊。

chenping2008 | 园豆:9836 (大侠五级) | 2012-01-01 18:54
0

不是有个output参数吗

Rookier | 园豆:652 (小虾三级) | 2012-01-03 22:13
0

建议使用上边查询sql历史表的那个;非常不错;我之前这样做过的;

画方软件 | 园豆:778 (小虾三级) | 2012-01-04 15:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册