基于Oracle查询或存储过程的Crystal Report运行极其缓慢

2020-09-20 23:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 在办公室,我们有针对Or...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

在办公室,我们有针对Oracle 11gR2的Crystal Reports 2016。

事实证明,我创建了一个存储在" Package.Stored Procedure"中的查询,该查询利用了"虚拟视图"(例如:以" view1"作为SELECT ...)。 查询中大约有5或6个虚拟视图。 返回的行数不高。 通常在100到200之间。存储过程的光标为IN OUT参数。

存储过程在数据库中运行良好,并且返回数据不需要花费太长时间(最多1分钟或2分钟)。

我的问题是当我使用存储过程使用报表时。 该报告仅在第一次(我创建报告时)运行良好。 然后,当我尝试第二次执行它时,它会花费很多时间,实际上我还没有看到它返回任何数据。

我什至已经在报表中复制了查询(根本没有使用存储过程),并且得到的结果与使用存储过程时的结果相同。

我正在使用Crystal Reports中包含的Oracle本机驱动程序,因为当我尝试使用ODBC驱动程序时会引发I.O异常。

您能告诉我什么地方可能出问题吗? 谢谢

4条回答
宇峰科技
2020-09-20 23:53

嗨,戴尔,

感谢帮助。

虚拟视图在存储过程中使用,而不在报表中使用,并且存储过程未与其他任何链接。 我仅将其用作报告的数据源,并且由于当前仅对其进行测试,因此我仅在报告中添加了几个字段,然后执行它。 我只有3个参数。 其中2个是IN参数,它们是数字类型。 另一个参数是ref Cursor,它用于返回查询。

每次我进行测试时,当我在数据库中执行存储过程时,存储过程都可以正常运行。 在配置报告时,我设置了测试参数,并且在第一次刷新时运行良好,我看到了报告中的列。 即使我在报表中复制查询,它也只能在第一次运行时正常运行。

存储过程不会更新任何表,它仅在执行SELECT命令。

我已按照CR指南中的说明执行了所有步骤来使用Oracle存储过程(例如,处理日期时必须使用的日期格式)。

我想知道可能是什么原因。

一周热门 更多>