`
danwind
  • 浏览: 232774 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

birt配置动态数据源

    博客分类:
  • Java
阅读更多
4. 使用birt的scrip读取配置文件动态的部署数据源
首先它可以分为配置文件路径是固定及不固定的(配置文件在项目目录中)。
4.1配置文件内容如下:
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:tortrend
username=test
password=test

4.2文件路径固定的报表设计可以在数据源的beforeopen事件中添加如下代码:
importPackage( Packages.java.io );
importPackage( Packages.java.util );
fin = new java.io.FileInputStream(new String("d:/config.txt"));
props = new java.util.Properties( );

props.load(fin);
extensionProperties.odaDriverClass = new String(props.getProperty("driver"));
extensionProperties.odaURL = new String(props.getProperty("url"));
extensionProperties.odaUser = new String(props.getProperty("username"));
extensionProperties.odaPassword = new String(props.getProperty("password"));
fin.close();
注:首先要加入jdbc数据源而不是使用script数据源。
4.3如果配置文件是放到项目中的某个文件下,这时候的路径是变化的。
首先就要在运行报表birt的IEngineTask中加入,
context.put( EngineConstants.APPCONTEXT_BIRT_VIEWER_HTTPSERVET_REQUEST, request );

这样使报表文件可以获得request对象。
然后在报表设计界面点击空白出,然后在script中的initialize的事件中加入以下代码:
importPackage( Packages.java.io,Packages.java.util,Packages.java.net ); 
importPackage( Packages.javax.servlet.http );
req = reportContext.getHttpServletRequest(); 
propPath = new String("/WEB-INF/classes/config.txt");
url = req.getSession().getServletContext().getResource( propPath );
if ( url != null ) {                      
    props = new java.util.Properties();
    props.load( url.openStream() );
	odaDriverClass = new String(props.getProperty("driver"));
	odaURL = new String(props.getProperty("url"));
	odaUser = new String(props.getProperty("username"));
	odaPassword = new String(props.getProperty("password"));
}
最后在编辑数据源,选中property binding项,进行填写odaDriverClass、odaURL、odaUser、odaPassword的绑定即可。
注:这两类写法有四处是不一样的,第一在动态路径运行时报表要传递request对象,第二两处对象和事件是不一样的,第三动态路径时注意script的脚步是没有extensionProperties这个对象的。第四、动态路径要进行数据源的绑定操作。

遇到的问题:
birt中的script里获得request为空,获取失败
这是因为要在birt的IEngineTask中加入,
context.put( EngineConstants.APPCONTEXT_BIRT_VIEWER_HTTPSERVET_REQUEST, request );
Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.
Cannot load JDBC Driver class: org.mozilla.javascript.NativeJavaObject@193ee6b
这个不是由于驱动的关系,是报表设计动态数据源加载的问题。
分享到:
评论
1 楼 ayang722 2013-01-10  
首先就要在运行报表birt的IEngineTask中加入,
Java代码 
context.put( EngineConstants.APPCONTEXT_BIRT_VIEWER_HTTPSERVET_REQUEST, request );


请问,这个代码怎么加? 具体操作怎么完成 

相关推荐

    Spring Boot MyBatis配置Druid多数据源oracle《--》mysql test finally.rar

    参考这个https://mrbird.cc/Spring-Boot-MyBatis Druid.html做的 配置多个数据源同时访问mysql和oracle数据库 互相交换数据 个人学习用 仅供参考 欢迎指教

    thunderbird C++ 源代码

    5. **数据存储**:邮件数据库管理系统,可能使用SQLite这样的轻量级数据库来存储邮件和配置信息。 6. **安全**:由于涉及个人信息,Thunderbird在设计时重视安全。这包括加密通信、证书管理、防止中间人攻击的措施...

    Thunderbird使用方法汇总

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

    Unity hlappy bird 游戏源代码

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

    android版FlappyBird源码

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

    flappybird强化学习

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

    FlappyBird

    `.classpath`和`.project`是Eclipse IDE的配置文件,用于管理项目的构建路径和元数据;`bin`目录存放编译后的类文件;`.settings`存储用户特定的项目设置;而`src`目录则是源代码的存放地,其中包含了游戏的主要逻辑...

    Thunderbird_Backup:允许在Mac OS上备份完整的Mozilla Thunderbird配置文件

    4. 配置备份:按照程序的提示,指定备份的位置和要备份的Thunderbird配置文件路径。 5. 执行备份:程序会执行备份过程,复制所有必要的设置和数据。 6. 存储和恢复:将备份文件安全存储在另一台设备或云存储服务中,...

    unity flappy bird

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

    flappy bird压扁小鸟小游戏.zip

    在这个游戏里,JavaScript文件可能会包含游戏的主要逻辑,而其他文件可能是图像资源、音频文件或者游戏配置数据。 JavaScript特效在游戏开发中扮演着重要角色,它允许游戏在用户设备上实时运行,无需服务器端交互。...

    rpki-roas:格式为Bird的RPKI ROA

    # 在Bird配置文件中启用rpki模块 protocol rpki { # 指定RPKI服务器的URL或者本地存储库路径 source ; # 配置RPKI验证行为 action reject; } # 如果使用本地存储库,可能需要如下设置 source local { file /...

    网站实时监控Hummingbird.zip

    4. **配置**:根据项目需求配置Hummingbird 的设置文件。 5. **启动服务**:运行`node server.js`(或类似命令)启动Hummingbird 服务。 6. **监控界面**:在浏览器中访问指定URL查看实时监控数据。 总结,Humming...

    源代码:网站制作富文本解析,折线图,MD5,bluebird.rar

    这些库提供了丰富的API和配置选项,可以定制颜色、轴标签、数据点、动画效果等。折线图的实现涉及到数据的预处理、坐标系统的设置、以及图形渲染原理的理解。 接着,MD5(Message-Digest Algorithm 5)是一种广泛...

    Processing实现的一个类FlappyBird游戏

    1. Bird.pde:这是小鸟类的源代码,可能包含了小鸟的绘制、运动逻辑和碰撞检测。在Processing中,通常会用到PDE(Processing Development Environment)格式的文件来编写代码。 2. function.pde:这可能是包含游戏...

    elephant-bird-core-4.6rc1.zip

    对于NoSQL数据库HBase,Elephant Bird提供了对LZO和protobuf的支持,包括对列族的配置和数据读写的优化。这使得HBase可以更好地处理压缩数据,减少了存储空间需求,同时保持了高性能。 总结来说,Elephant Bird项目...

    elephant-bird-core-4.5.zip

    此外,elephant-bird-core-4.5还支持反序列化和序列化,以及生成自定义的InputFormat和OutputFormat,这些特性使得开发者能够轻松地将各种数据源集成到他们的大数据处理流程中。 接下来,我们转向scoverage-maven-...

    elephant-bird-pig-4.1.zip

    Elephant Bird将Cassandra的数据模型转换为Pig可以理解的形式,使用户能够方便地在Cassandra上执行分析和数据挖掘任务。这个版本(4.1)包含了对Cassandra CQL3的支持,使得处理Cassandra数据更加灵活和高效。 ...

    系统工具-文件下载-Thunderbird91.0b4.zip

    9. **开源**:作为开源软件,Thunderbird的源代码对公众开放,意味着用户可以自由查看、修改和分发软件,也有社区不断为其改进和维护。 在Thunderbird91.0b4版本中,可能包含以下改进和新特性: - 性能优化:提升...

    DRL-FlappyBird-master.7z

    标题中的"DRL-FlappyBird-master.7z"暗示了这是一个关于深度强化学习(Deep Reinforcement Learning,简称DRL)的项目,其中包含了用于训练和实现Flappy Bird游戏的源代码。Flappy Bird是一款非常流行的手机游戏,...

    小程序源码(无后台)_富文本解析,折线图,MD5,bluebird.rar

    使用时,需要配置数据源、样式等参数,然后在小程序页面上插入图表组件即可。 三、MD5加密 MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意长度的信息映射为固定长度的摘要,通常用于验证...

Global site tag (gtag.js) - Google Analytics