关于birt中配置数据源!

 

     以前一直用润乾报表,现在突然改成了birt,还真是有点不适应!整个动态数据源,也搞了好些天,资料太少,先记录下看到

的几种方法:

  • 第一种和第二种都要配置一下几个报表参数(odaDriverClass 、odaURL、odaUser  、odaPassword )
  • 同时需要在Property Binding中将JDBC的参数值绑定到报表参数
  • 图片上不来

 

第一种:读配置文件(已经测试通过)

importPackage( Packages.java.io,Packages.java.util,Packages.java.net );

importPackage( Packages.javax.servlet.http );

req = reportContext.getHttpServletRequest( );       

propPath = new String(params["propFile"].value);    // 把配置文件名用参数传进来

if ( propPath.charAt(0) != "/" )
  propPath = "/" + propPath;

url = req.getSession( ).getServletContext( ).getResource( propPath );    // 获得配置文件的相对路径

if ( url != null )                                                    //  如果文件的相对路径不为空,则读取配置文件
{
    props = new java.util.Properties( );
    
    props.load( url.openStream( ) );
    
 odaURL = new String(props.getProperty("url"));

 odaDriverClass = new String(props.getProperty("driver"));

 odaUser = new String(props.getProperty("userid"));

 odaPassword = new String(props.getProperty("password"));
}

 

 

第二种:共用项目架构中的spring配置文件(不过我没有测试成功)

importPackage(Packages.org.springframework.context.support);  //引用Spring类

importPackage(Packages.org.apache.commons.dbcp);  //应用Datasource类

var ctx = new ClassPathXmlApplicationContext("applicationContext.xml");  //读取Spring配置文件

var dataSource = ctx.getBean("dataSourceName");  //读取DataSource

extensionProperties.odaURL = new String(dataSource.getUrl());  //读取Url并赋值

extensionProperties.odaUser = new String(dataSource.getUsername());  //读取Username并赋值

extensionProperties.odaPassword = new String(dataSource.getPassword());  //读取Password并赋值

 

第三种:为报表创建一个连接池,在报表中通过JNDI来获取连接信息(推荐采用这一种)

配置连接池(context.xml),配置的方法好像是tomcat版本不一样,方法也不一样,我是5.5

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    
    <Resource
      auth="Container"
      name="jdbc/birtDS"
      type="javax.sql.DataSource"
      maxIdle="5"
      maxWait="-1"
   driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
      username="sa"
   password="123"
      url="jdbc:sqlserver://127.0.0.1:1433;databaseName=rcwss"
      maxActive="10"/>
</Context>

然后在BIRT JDBC Data Source 中配置好JNDI URL , 我的是:java:comp/env/jdbc/birtDS

保存即可!


 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值