PL / SQL报告文件自动运行并导出结果?

时间:2012-07-25 10:23:44

标签: oracle plsql report plsqldeveloper job-scheduling

我正在使用PL / SQL开发人员。

我有一个报告文件(.rep),根据时间段提取一些数据,例如。从2012年7月1日到2012年7月2日。我使用此报告运行它,输入& date_from和& date_to,然后通过相应的按钮以HTML格式导出。

我想自动执行此任务,因为基本上此报告需要每天执行,并将今天的日期作为参数。我稍微修改了一下代码,现在它使用 trunc(current_date,'DDD')作为参数,这样我就不必手动输入它了。接下来我需要:

  1. 在没有我的互动的情况下将此报告作为计划任务运行。
  2. 将HTML导出复制到一个文件夹中,该文件夹的日期用作报表内的参数(因此,基本上是current_date)。
  3. 我的愿望脚本的伪代码如下:

    reportDate = get_current_date_without_time
    run my_report.rep
    mkdir c:\somefolder\reportDate 
    copy my_report_result_as_HTML c:\somefolder\reportDate
    

    有可能吗?如果是这样,那怎么样?

1 个答案:

答案 0 :(得分:4)

PLSQL Developer是一个用于构建Oracle存储过程的IDE,来自第三方Allround Automations。其功能包括用于构建报告的功能。但是,这些报告主要是针对开发人员而非平民使用的。因此,报告只能通过GUI以交互方式运行。

Allround Automations还提供了Query Reporter,这是一个可以运行用PLSQL Developer编写的.REP文件的免费工具。 Find out more.

此工具具有用于运行报告的命令行选项。所以你可以编写一个.BAT文件,它可以完成你想要的所有其他工作(获取时间,创建目录),然后使用QueryReport命令运行报告并将其保存为html。此示例来自我上面链接的页面。

QueryReporter userid=scott/tiger@chicago exec=DeptEmp.rep html=DeptEmp.html quit

然后,您将在Windows计划程序中创建一个作业,以便每天运行批处理文件。