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

Posted

技术标签:

【中文标题】PL/SQL 报告文件自动运行并导出结果?【英文标题】:PL/SQL report file automatically run and export result? 【发布时间】:2012-07-25 10:23:44 【问题描述】:

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

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

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

    将此报告作为计划任务运行,无需我的干预。 获取一个复制到文件夹中的 HTML 导出,该文件夹的日期用作报告内的参数(因此,基本上是 current_date)。

我的愿望脚本的伪代码如下:

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

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

【问题讨论】:

这是一个 Oracle Reports 程序(.rep 扩展名表明它是)?如果是,您使用的是哪个版本的产品? 是的,我相信是,PLSQL Developer 9.0.3.1641 Oracle Reports 是用于开发报告的专有工具,包括复杂的布局和格式。它与 PLSQL Developer 没有任何关系,PLSQL Developer 是用于构建存储过程的第三方 IDE。如果您希望我们为您提供帮助,您需要弄清事实。 那么,正如我在最初帖子的第一行中指出的那样,我使用 PLSQL Developer,它的版本是 9.0.3.1641。 抱歉,我没有意识到 PLSQL Dev 还将其报告程序存储在扩展名为 .REP 的字段中。 【参考方案1】:

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 调度程序中创建一个作业来每天运行批处理文件。

【讨论】:

不需要批处理文件,您可以安排任务调用QueryReporter,并且有一个单独的参数字段(至少在Windows 7中)

以上是关于PL/SQL 报告文件自动运行并导出结果?的主要内容,如果未能解决你的问题,请参考以下文章

假脱机多个文件

是否可以将 CSV 上传到 redshift 并让它自动运行并导出保存的查询?

Oracle 游标简介

oracle游标的使用

Oracle PL/SQL查询结果如何自动换行

如何将 PL/SQL .sql 文件转换为 SQL*PLUS,以便它可以与 Windows 任务计划程序一起运行