`

birt 数据源

阅读更多

第一种:读配置文件

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

保存即可!

 http://zongpin.iteye.com/blog/423097

碰上一些诸如在生成的report中点击链接更新数据库数据等,可以在dataset里面用以下代码,自己创建一个独立的statment来完成insert,update,delete等操作。

    updateTxn = MXReportTxnProvider.create(this.getDataSource().getName());

    updateStmt = updateTxn.createStatement();

    updateStmt.setQuery("update table"
    + " set value = 'aaa'"
    + " where id = 1";
    
    updateTxn.save();
    updateTxn = null;
----------------

一些常用有用的sql 语句(用于oracle):

to_date(trunc(add_months(sysdate,-1),'MM'),'yyyy-mm-dd')
// 上个月的第一天
to_date(trunc(sysdate, 'MONTH')-1,'YYYYMMDD')
// 上个月的最后一天

分享到:
评论

相关推荐

    thunderbird C++ 源代码

    Thunderbird是一款开源、免费的邮件客户端,由Mozilla基金会开发,其源代码主要使用C++语言编写。这款软件在设计上与Microsoft的Outlook类软件有相似之处,但更注重自由软件的理念和网络安全性。在深入探讨Thunder...

    FlappyBird源代码

    7. **图形和动画**:游戏使用了简单的2D图形,源代码中可能包含了一些基本的图形库,如SDL或SFML,用于绘制和更新游戏画面。鸟和管道的动画效果是通过切换不同图像来实现的。 8. **内存管理与性能优化**:在C++中,...

    Thunderbird使用方法汇总

    - 数据备份:定期导出Thunderbird的数据到文件,以防意外丢失。 8. **故障排查与支持** - 日志查看:当遇到问题时,可以通过查看错误日志进行诊断。 - 社区支持:Mozilla社区有大量用户和开发者,提供帮助和解决...

    flappybird的微信小程序源代码

    《微信小程序游戏开发:Flappy Bird的源代码解析》 微信小程序作为一种轻量级的应用开发平台,因其便捷的开发流程和广泛的用户基础,受到了开发者们的热烈欢迎。在众多的小程序项目中,"Flappy Bird"游戏的微信小...

    thunderbird v 6_Thunderbird_EAforex_

    1. **.ex4 或 .mq4 文件**:这是EA的源代码文件,.ex4是编译后的可执行文件,.mq4则是源代码文件,允许用户查看和编辑策略。 2. **.xml 文件**:包含了EA的元数据,如版本信息、描述、作者等。 3. **README 或 ...

    Unity hlappy bird 游戏源代码

    《Unity实现Happy Bird游戏源代码解析》 Unity是一款强大的跨平台游戏开发引擎,它被广泛应用于2D和3D游戏的制作,同时也适用于虚拟现实(VR)和增强现实(AR)项目。本篇将深入探讨如何使用Unity引擎来实现曾经在...

    hummingbird-源码.rar

    在这个名为"hummingbird-源码.rar"的压缩包中,我们有机会深入研究Hummingbird的源代码,揭示其背后的精妙设计与技术实现。下面,我们将探讨Hummingbird源码中的关键知识点,包括框架结构、核心算法、性能优化策略...

    FlyBird(飞翔的小鸟)

    在C/C++的编译流程中,源代码首先被编译成`.obj`目标文件,然后再链接成最终的可执行文件`.exe`。`.obj`文件包含了编译后的机器代码以及符号信息,用于链接阶段与其它库和模块进行结合。 在C语言中,实现游戏逻辑...

    FlappyBird

    总的来说,通过JavaSE,开发者可以利用其强大的图形处理能力、丰富的库支持以及面向对象的设计原则,实现一个功能完整、运行流畅的FlappyBird游戏。这个过程不仅可以加深对Java编程的理解,也能锻炼到游戏开发的相关...

    android版FlappyBird源码

    1. 项目目录:AMFlappyBird中包含了项目的各个模块,如res资源文件夹、src源代码文件夹、AndroidManifest.xml配置文件等。 2. 工程依赖:源码可能依赖于Android SDK的特定版本以及支持库,需要确保Android Studio或...

    flappybird强化学习

    5. **数据集**:可能包含预处理的游戏状态数据,用于训练神经网络。 6. **配置文件**:可能有设置超参数、学习率、探索策略等的配置文件。 7. **结果展示**:可能有训练过程中的得分曲线图或者其他可视化结果,展示...

    FreeBird2011

    源代码通常包含了项目的整体结构,如模块划分、类与函数定义、数据结构和算法实现等。在FreeBird2011的源代码中,我们可以学习到如何组织大型项目的代码,如何通过良好的设计原则来提高代码的可读性和可维护性。这...

    java实现Flappy bird

    这个游戏的源代码为初学者和中级开发者提供了很好的学习资源,尤其是对于那些希望深入理解Java图形用户界面(GUI)编程、游戏开发以及如何整合音频和数据处理的开发者。 在Java中实现Flappy Bird涉及以下关键知识点...

    FlappyBird 8 让数据说话(显示分数).zip

    这是我[手把手带你Godot游戏开发]教程第一弹FlappyBird截止到第8章节 让数据说话(显示分数)的源代码,完整的教程详见:https://blog.csdn.net/hello_tute/category_9759669.html

    C语言小游戏-FlyBird源码

    总的来说,通过分析FlyBird源码,我们可以深入了解C语言在游戏开发中的应用,包括基础语法、数据结构、内存管理、流程控制以及第三方库的使用。这个过程不仅能够提升我们的C语言编程技能,还能够加深对游戏开发原理...

    Flappy_Bird cocos2dx_flappybird项目_java_herd9ol_bird_

    项目不仅提供了完整的源代码,还附带了一份详细的源码分析PDF文档,对于想要深入学习游戏开发或对Flappy Bird有兴趣的开发者来说,这是一个极好的学习资源。 一、Cocos2d-x框架解析 Cocos2d-x是一个跨平台的2D游戏...

    控制台flappy birdC++源码

    在源代码中,可能会看到如何加载和使用这个文件的代码段,例如读取图像数据或定义游戏对象的位置。 总的来说,这个控制台版的Flappy Bird展示了C++在图形编程和游戏开发中的应用。它涉及到基础的图形绘制、事件处理...

    bird生成报表jar包 java生成excel报表(添加打印时间)

    自己写的java生成excel报表jar包,使用html中的table标签样式设计报表头部信息xml文件,接受list数据集生成excel报表。对结构不是太复杂的excel报表十分好用,有详细使用说明。最新添加了打印时间。

    unity flappy bird

    `Assembly-CSharp.csproj`是Unity自动生成的C#项目的配置文件,包含了项目的所有源代码引用和编译设置。 接下来,`obj`和`ProjectSettings`目录分别存储了编译过程中产生的中间文件和项目设置。`obj`目录下的文件是...

    flappybird.zip_bird_键盘

    标题 "flappybird.zip_bird_键盘" 指示我们关注的是一个关于Flappy Bird游戏的MATLAB实现,这个版本特别强调了使用键盘进行游戏操控。描述中提到,这是一个可以在MATLAB环境中运行的程序,用户只需启动后通过键盘就...

Global site tag (gtag.js) - Google Analytics