bi发布者作业调度程序

时间:2016-10-27 09:02:01

标签: java datetime oracle11g bi-publisher

我有一个请求在oracle BI Publisher中一个接一个地安排一些报告。 报告调度程序将在下午7:00开始运行,并在第二天早上7点完成所有报告。 我想的是创建一个触发器来检查BI Publisher数据库是否运行了另一个特定的报告,然后运行报告。 触发器查询如下:

select   "XMLP_SCHED_JOB"."STATUS" as "STATUS",
   "XMLP_SCHED_JOB"."CREATED" as "CREATED",
   "XMLP_SCHED_JOB"."USER_JOB_NAME" as "USER_JOB_NAME",
   "XMLP_SCHED_JOB"."JOB_TYPE" as "JOB_TYPE" 
 from  "DEV1_BIPLATFORM"."XMLP_SCHED_JOB" "XMLP_SCHED_JOB" 
 where    "XMLP_SCHED_JOB"."STATUS" !='R' 
   and   "XMLP_SCHED_JOB"."CREATED" BETWEEN (SELECT CASE WHEN  TRUNC( SYSDATE, 'HH24' ) < TRUNC(SYSDATE) + 7/24 THEN TRUNC(SYSDATE-1) + 7/24 
                    ELSE TRUNC(SYSDATE) + 7/24 END FROM DUAL
                     ) 
                     AND  SYSDATE
   and   "XMLP_SCHED_JOB"."USER_JOB_NAME" ='test' 
   and   "XMLP_SCHED_JOB"."JOB_TYPE" ='I' 

当我在oracle数据库中运行它时,我会正常获得结果,但是当我在BI Publisher触发器查询中输入它时,我会在日志中收到错误:

  

oracle.xdo.XDOException:oracle.xdo.XDOException:oracle.xml.parser.v2.XMLParseException:预期的名称而不是。

仅在我将TRUNC( SYSDATE, 'HH24' ) < TRUNC(SYSDATE) + 7/24放入查询

时才会收到错误消息

1 个答案:

答案 0 :(得分:0)

您可以创建标准请求集,然后安排它。它将按顺序依次运行它们。但是,这种方法的一个问题是请求集只允许每个请求/数据定义有一个报表布局。