在BIRT中使用esProc作为数据源

本文介绍了如何在BIRT报告中使用esProc作为数据源,通过配置dfxConfig.xml文件,添加esProc JDBC驱动的jar包,创建JDBC数据源和数据集。详细步骤包括设置参数传递,预览报表结果。esProc JDBC提供了一种无需独立服务器的计算能力,将运算引擎内置在JDBC接口中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         esProc将计算能力封装成标准的JDBC接口,可作为各种报表工具的数据源。

         普通数据库的JDBC驱动仅是一个接口,实际运算在作为服务器运行的数据库进行;与之不同的是,esProc JDBC已经嵌入了全部运算引擎,不再需要独立的服务器,这样就需要将esProc JDBC用到的jar都加到入应用(如报表工具)的类路径中。

        esProc JDBC实现了JDBC的存储过程调用接口,通过该接口执行网络程序(dfx)并返回结果集。可以将esProc JDBC逻辑上看作是一个没有表的数据库。

        下面通过实例说明在BIRT中如何应用esProc JDBC数据源。

        先看一个无参数的简单例子,设有如下的esProc程序文件my.dfx

        其中A1格的计算结果为

       在BIRT中具体步骤如下:

1, 创建esProc JDBC的配置文件dfxConfig.xml:

<?xml version="1.0" encoding="UTF-8"?>

<dfxConfig>

    <!—dfx文件的存放目录,上述my.dfx即放在此,在这里配置目录后esProc JDBC才能正确找到-->

<paths>c:\\</paths>

<!-- 配置dfx执行时用到的数据源,该节点下可以有配置任意多个数据源, -->

    <jdbc-ds-configs>

    <!-- 单个数据源配置, -->

        <jdbc-ds-config>

        <!-- 数据源名称,必须和dfx程序中用到的相同 -->

            <name>mysql</name>

             <url>jdbc:mysql://192.168.0.95:3306/test</url>

            <driver>com.mysql.jdbc.Driver</driver>

            <userName>root</userName>

            <password>123456</password>

            <dbCharset>iso8859-1</dbCharset>

            <clientCharset>iso8859-1</clientCharset>

            <useSchema>false</useSchema>

            <caseSentence>false</caseSentence>

            <needTranContent>false</needTranContent>

            <needTranSentence>false</needTranSentence>

        <!-- dfx中使用该数据源时,是否自动连接 -->

            <autoConnect>true</autoConnect>

        </jdbc-ds-config>

    </jdbc-ds-configs>

</dfxConfig>

       特别注意:dfxConfig.xml的文件名不可改变,必须是这个名字,否则esProc JDBC将无法找到。

      2, 新建报表并配置其esProc JDBC数据源。

      新建一个报表,在Data Sources下新建JDBC Data Source类型的数据源:

      进入数据源创建向导页面后,通过“Manage Drivers”添加esProc JDBC驱动相关的jar共有4个

                   dm.jar              运算引擎

                   log4j_128.jar       Apache的日志包

                  icu4j_3_4_5.jar     IBM的国际化包

                 poi2.jar            Apache的EXCEL读写包,dfx中没用到则可不加。

        这些jar可在 [esProc安装目录]\designer\lib下找到。

       当然,在dfx中用到的其它数据库驱动也要放进classpath中,如我们这里用的是MYSQL。

      另外,dfxConfig.xml也需要被加到classpath中才能被esProc JDBC找到,只要简单地将以把该文件一起压到dm.jar中再加入到类路径中即可,注意要放到dm.jar的根目录下。

     添加dm.jar后,Drivers中就会显示出“com.raqsoft.dfxserver.Driver”了,如下:

       添加好驱动后,就可以如下配置了jdbc连接了(单击Test Connection…,提示Connection Successful,表示连接成功):

       注:只要填入Driver和URL即可,由于没有独立的服务器,这里URL必须是local。esProc JDBC也不是完整的数据库,因而也没有用户名和口令。

      3, 添加数据集。通过上面建好的数据源“New Data Set”,如下列图:

       完成后,显示结果集的字段列结构如下:

         4, 生成报表。把dataSet拖拽到设计面板,生成如下报表:

       5, 预览结果,如下:

 

    esProc JDBC还可以支持参数传递,设有如下带参数的网络程序文件my2.dfx

        运行时,param1、param2的参数值如果分别设置为“male”,30,就会获得如下结果:

      具体操作步骤如下:

1、 创建报表参数。

        新建一个空白报表,在Data Explore->Report Parameters下创建两个报表参数p1,p2,默认值分别为:

2、 创建Data Source。步骤同上。

3、 创建Data Set,编写查询语句“call my2(?,?)”,以?代替动态参数。

4、 创建数据集参数,并与报表参数关联起来。点击“Parameters”,如下设置参数,把param_1和报表参数p1关联上,param_2和p2关联上:

5、 预览数据集列结构。点击到“Output Columns”,可以看到字段结构:

6、 预览数据集。点击到“Preview Results”,预览到结果:

7、 生成报表,预览。把Data Set拖拽到设计面板上,生成报表,点击预览,弹出如下参数输入框:

    输入参数、点击OK,报表预览如下:

尾注:关于esProc JDBC的更深入信息,特别是dfxConfig.xml的详细说明,请参考esProc官方文档( www.esproc.com可下载)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值