首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

使用birt遇到的有关问题记录

2012-11-01 
使用birt遇到的问题记录Q: birt连接oracle数据库的报表,发布到tomcat下,运行报错! ----------------------

使用birt遇到的问题记录
Q: birt连接oracle数据库的报表,发布到tomcat下,运行报错!

--------------------------------------------------------------------------
A:把oracle的driver考到 \WEB-INF\platform\plugins\org.eclipse.birt.report.data.oda.jdbc_XXXXXXXXXXX\drivers

==============================================================================================================

Q: 数据集如何使用oracle存储过程?
--------------------------------------------------------------------------
A: 1.建立数据源
  2.建立数据集
    a.建立存储过程
        CREATE OR REPLACE PACKAGE stored_procedure IS
          TYPE rtncursor IS REF CURSOR;
          PROCEDURE data_set(batch IN VARCHAR2,out_data OUT rtncursor);
        END stored_procedure;
       
        CREATE OR REPLACE PACKAGE BODY stored_procedure IS
          PROCEDURE data_set(batch IN VARCHAR2,out_data OUT rtncursor) IS
          BEGIN
            OPEN out_data FOR
              SELECT b.* FROM sf_feed_stock_product b WHERE b.product_batch = batch;
          END;
        END stored_procedure;
    b. 在Outline中的Data Sets中右键新建Data Set
      注意: 在New Data Set 对话框中, 一定要把Data Set Type 选为SQL Stored Procedure Query, 默认是SQL Select Query.
       否则在后面的操作中, 无法处理返回游标.
       (小叶刚开始没注意到, 试了很多次也没成功, 还以为birt不支持oracle的存储过程了..)
      
    c. click next, 进入Query对话框 , 在右边的文本区中填入
         {call SF_FEED.STORED_PROCEDURE.DATA_SET(?,?)}
       注意: 需要填入包名
    d. click finish
    e. 编辑parameters
       由于传入了一个参数, 所以要设置传入参数默认值或者和请求参数绑定
    f. 剩下的就和普通的sql select Query 操作是类似的了  


==============================================================================================================

Q: 自定义的模板放在什么位置?
--------------------------------------------------------------------------
A: 默认是放在%DESIGNER_HOME%\plugins\org.eclipse.birt.resources_XXXXX\custom-templates目录下, 可以通过Window->Preferences->Report Design->Template进行设置















热点排行