我创建了一个DB2任务以在特定时间自动运行我的存储过程,我使用ADMIN_TASK_ADD过程创建了该任务:
CALL SYSPROC.ADMIN_TASK_ADD ( 'WR_AM_ADT_AUTO_CNRRM_SCHDLR',
NULL,
NULL,
NULL,
'05 16 * * *',
'ASPECT',
'WR_AM_ADT_AUTO_CNRRM',
'81930',NULL,NULL);
COMMIT;
我想每天下午04:05运行我的预定任务,但它不起作用并且状态为
NOTRUN,SQLCODE -104
所以有人可以告诉我我做错了什么吗?
我还使用以下命令检查了任务列表中的调度程序:
SELECT * from SYSTOOLS.ADMIN_TASK_LIST
我在Windows上使用DB2 9.7版本。
答案 0 :(得分:1)
任务NOTRUN
的状态意味着错误阻止了调度程序调用任务的过程。 SQLCODE
表示错误类型。
我建议您使用以下内容;
确认调度程序已启用。
db2 > db2set
DB2_ATS_ENABLE=YES
ATS
依赖于SYSTOOLSPACE
表空间来存储历史数据和配置信息。您可以使用以下查询检查系统中是否存在表空间。
db2 select TBSPACE from SYSCAT.TABLESPACES where TBSPACE = 'SYSTOOLSPACE'
您可以单独测试存储过程
CALL WR_AM_ADT_AUTO_CNRRM()
然后在计划中运行你的任务!