基于JNDI的birt数据配置

来源:互联网 发布:淘宝综合排名搜不到 编辑:程序博客网 时间:2024/06/06 08:52

之前写过birt报表用rptlibrary统一所有报表的数据源,但是这种方式还是不够灵活,每次修改数据源,还是要直接打开WAR修改,在网上看到一种很通用的方式,就是给birt报表配置JNDI的URL,然后在tomcat中配置数据源,每次访问报表,就会优秀读取tomcat中配置的数据源,这样报表的数据源问题得到充分的独立性,如果需要更改数据员,也不需要再去打开war在代码上做任何改动,这种方式无疑减少了很多不必要的麻烦。下面就一步一步来看看到底是怎么配的。

主要分4步:

1.在创建报表创建数据源时,配置JNDI URL

2.Tomcat在D:\apache-tomcat-7.0.54\conf\context.xml中配置

<?xml version="1.0" encoding="UTF-8"?>
<Context>
 <Resource
      auth="Container"
      name="jdbc/xxx"
      type="javax.sql.DataSource"
      maxIdle="5"
      maxWait="-1"
         driverClassName="oracle.jdbc.driver.OracleDriver"
      username="xxx"
      password="xxx"
      url="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:xxx:ORCL"
      maxActive="10"/>
</Context>

3.在项目/WEB-INF/web.xml增加代码

 <resource-ref>
    <description>Database Source</description>
    <res-ref-name>jdbc/XXX</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>

配置就这么多,但是检查一下项目的jar包有没有oracle的jdbc驱动程序ojdbc14.jar

如果有的话,配好这些你就可以测试一下报表不同数据源的切换了,只需要更改content.xml中的jdbc就可以实现同步。

birt报表项目的下一阶段要接入中间表,目前基本也确定了中间表的设计方案,小伙伴打算用过程存储来做,报表的前端虽然还有一些细节的小Bug,但是顺利的通过演示,春节前基本Over了!

提前祝大家春节快乐!

0 0