我们的系统和水晶报表集成起来了,而且一个报表可以同时运行多次,我们要监控每次的执行结果。查询语句如下:
Select TOP 1 *  From CI_INFOOBJECTS Where SI_INSTANCE_OBJECT=1 AND SI_PARENTID="
        + reportId
        + " and AR_INSTANCE_ID= "
        + instanceId
        + " and AR_EXECUTE_ID= " + executeId + " Order by SI_ID desc";
其 中reportId是报表的那个ID了,AR_INSTANCE_ID是自定义的属性,用来跟踪每次的执行,我们的系统中增加了和CR SERVER中类似的概念instance,就是可以使用不同的参数设置运行同一个报表,而每一个instance又可以同时运行多次,所以又增加了一个 EXECUTE_ID,可以跟踪每次的执行了。
这个查询有个问题,就是如果报表没有运行完,那么是查询不到当前的状态的,后来发现是SI_INSTANCE_OBJECT=1的问题,去掉那个条件就可以了。可能是报表运行成功或者失败才会生成或者设置那个字段。