如何调用从ireport 4.5.1返回sys_refcursor的存储过程

时间:2012-04-01 07:18:08

标签: stored-procedures oracle10g jasper-reports ireport

任何人都可以提供有关如何调用从ireport 4.5.1返回sys_refcursor的存储过程的完整教程。 我已经关注此链接 http://rajendratambat.blogspot.in/2011/10/calling-oracle-stored-procedure-in.html?showComment=1333264003761#c6148133813463786818

但它对我不起作用。任何人都可以有另一种解决方案。

1 个答案:

答案 0 :(得分:1)

以下是使用iReport 4.5 / 4.5.1 JasperReport调用存储过程来构建报告的步骤

  1. 在您的iReport设计器中,转到工具 - >选项 - >在Classpath选项卡中,单击Add JAR并将OJDBC14.jar添加到类路径中。
  2. 转到“查询执行程序”选项卡并设置以下内容  语言:plsql  Query Executer Factory:com.jaspersoft.jrx.query.PlSqlQueryExecuterFactory  Fields Provider类:com.jaspersoft.ireport.designer.data.fieldsproviders.SQLFieldsProvider
  3. 选择数据库JDBC连接
  4. 选择Oracle作为JDBC驱动程序,如下图所示,并通过单击“测试”按钮验证连接(确保选中“保存密码”复选框)
  5. 通过提供报告名称创建空白报告并保存。
  6. 在设计器中打开报告,右键单击报告名称,然后单击“编辑查询”
  7. 将查询语言设置为plsql
  8. 在{}中调用您的程序 一个。 {call PUBLISHER_AND_BOOKS(& P(P_PUBLISHER_ID),& P(ORACLE_REF_CURSOR))} 注意:P_PUBLISHER_ID的类型为字符串,ORACLE_REF_CURSOR的类型为java.sql.ResultSet数据类型自定义参数。您可以通过单击“新建参数”按钮来创建它。如果您有更多输入参数,请使用','作为分隔符,如上例所示。
  9. 单击“确定”继续进行报告设计。
  10. 在设计器窗口中右键单击字段并添加单击添加字段并确保所有字段名称与存储过程中的列名称匹配
  11. 现在右键单击参数并添加与存储过程匹配的参数注意:请确保在我们的示例中为out参数取消选中“Use for Prompt”,其ORACLE_REF_CURSOR是out参数。
  12. 拖放报告详细信息区域中的字段,如下所示
  13. 点击预览以使用输入参数
  14. 运行报告

    所有步骤都通过图片详细捕获,并在下面的链接中提供,希望这有助于...

    http://meezageekyside.blogspot.com/#!/2012/04/jasper-reports-ireport-45-using-oracle.html