- 浏览: 63504 次
- 性别:
- 来自: 四川
最新评论
项目中使用3.7.1的birt。
因为项目需要在birt中配置动态数据源,因此在网上搜索了一下动态数据源的配置方法,按网上的说明,在数据源的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();
结果一跑,出错:
严重: Unable to open connection. org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot load JDBC Driver class: org.mozilla.javascript.NativeJavaObject@1430f3. at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.findDriver(JDBCDriverManager.java:782) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.registerDriver(JDBCDriverManager.java:903) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.loadAndRegisterDriver(JDBCDriverManager.java:885) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:248) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:214) at org.eclipse.birt.report.data.oda.jdbc.Connection.connectByUrl(Connection.java:237) at org.eclipse.birt.report.data.oda.jdbc.Connection.open(Connection.java:162) at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaConnection.open(OdaConnection.java:250) at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnection(ConnectionManager.java:165) at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSource.java:224) at org.eclipse.birt.data.engine.executor.DataSource.open(DataSource.java:212) at org.eclipse.birt.data.engine.impl.DataSourceRuntime.openOdiDataSource(DataSourceRuntime.java:217) at org.eclipse.birt.data.engine.impl.QueryExecutor.openDataSource(QueryExecutor.java:407) at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:317) at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:455) at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:190) at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:178) at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(PreparedOdaDSQuery.java:145) at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:620) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:152) at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:80) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:267) at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1905) at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80) at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46) at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46) at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46) at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111) at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26) at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100) at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:249) at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:260) at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:85) at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1317) at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158) at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81) at org.eclipse.birt.report.service.actionhandler.BirtGetPageActionHandler.__checkDocumentExists(BirtGetPageActionHandler.java:58) at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.prepareParameters(AbstractGetPageActionHandler.java:119) at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:104) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90) at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143) at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(BirtDocumentProcessor.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112) at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) ...
后来经过多次查询资料后,发现了一个另外的配置信息:
this.setExtensionProperty("odaURL", props.getProperty("url")); this.setExtensionProperty("odaDriverClass", props.getProperty("driver")); this.setExtensionProperty("odaUser", props.getProperty("userid")); this.setExtensionProperty("odaPassword", props.getProperty("password"));
配置后,重新启动,无任何问题,报表生成成功。
发表评论
-
struts2 中获取 web资源的方式
2016-01-08 17:02 534在struts2中获取 web资源的方式大致可分为获取扩展 ... -
sql server、db2、oracle 存储过程动态sql语句示例
2015-01-31 19:00 1842Oracle CREATE OR REPLACE PRO ... -
ie9 中出现不明的异常(参数是必选项 (Argument not optional)、尚未实现)等
2015-01-27 23:57 1311<script type="text/jav ... -
SAXParseException: The content of element type "configuration" must match
2014-09-15 23:57 1967在mybatis的配置文件中新增加<databaseI ... -
java.lang.ClassNotFoundException: Cannot find class: DB_VENDOR
2014-09-15 23:45 2007在mybatis 中使用databaseIdProvide ... -
spring mvc3 + fastjson 转换 REST 参数以及输出
2014-03-27 00:16 4253spring 3可以支持Rest风格参数,其内置了jack ... -
eclipse中编辑log4j 的xml配置文件时,自动提示
2014-03-27 00:05 894方法1. 配置log4j.dtd文件: Windows - ... -
java json 转换之 Jackson 框架
2013-08-01 21:50 1170转自:http://www.cnblogs.com/hooj ... -
eclipse/myeclise 自定义注释中的变量名称
2013-07-01 23:18 974eclipse/myeclipse中自带了 ... -
Eclipse Class Decompiler——Java反编译插件
2012-11-08 22:41 1241Eclipse Class Decompiler,整 ... -
struts+spring+hibernate整合问题解决方法 陆续更新中....
2009-01-01 10:33 882在整合ssh过程中出现的问题和解决方法: 一、 严重: Ser ... -
DWR通过Annotation与spring整合
2009-01-21 22:05 668DWR 2.0 增加了一个很有趣的新特性,Annotat ... -
div嵌套页面 div加载页面 (其中获取目标页面的内容是用dwr框架连接java程序做的)
2009-03-15 16:58 659前段时间因为有需要,要在div中加载一个页面。但是以前没做过, ... -
tapestry autocomplete 更改样式及定位
2009-07-09 19:02 722版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文 ... -
Java中的main()方法详解
2009-07-12 16:23 653源文作者:leizhimin 源文链接:http:/ ... -
tapestry5 集成 spring 的事务管理
2009-07-22 15:43 601说明:使用的是tapestry5.1.0.5 和spring ... -
tapestry5 布局 参数的处理
2009-07-23 17:24 434<?xml version="1.0" ... -
tapestry不支持 等html特殊符号的解决方法
2009-07-23 17:34 547在使用tapestry时,偶然发现使用 &a ... -
WebService大讲堂之Axis2(1):用POJO实现0配置的WebService
2009-07-28 15:01 431转自:http://space.itpub.net ... -
WebService大讲堂之Axis2(2):复合类型数据的传递
2009-07-28 15:25 521转自:http://space.itpub.net/12921 ...
相关推荐
参考这个https://mrbird.cc/Spring-Boot-MyBatis Druid.html做的 配置多个数据源同时访问mysql和oracle数据库 互相交换数据 个人学习用 仅供参考 欢迎指教
5. **数据存储**:邮件数据库管理系统,可能使用SQLite这样的轻量级数据库来存储邮件和配置信息。 6. **安全**:由于涉及个人信息,Thunderbird在设计时重视安全。这包括加密通信、证书管理、防止中间人攻击的措施...
- 数据备份:定期导出Thunderbird的数据到文件,以防意外丢失。 8. **故障排查与支持** - 日志查看:当遇到问题时,可以通过查看错误日志进行诊断。 - 社区支持:Mozilla社区有大量用户和开发者,提供帮助和解决...
《Unity实现Happy Bird游戏源代码解析》 Unity是一款强大的跨平台游戏开发引擎,它被广泛应用于2D和3D游戏的制作,同时也适用于虚拟现实(VR)和增强现实(AR)项目。本篇将深入探讨如何使用Unity引擎来实现曾经在...
1. 项目目录:AMFlappyBird中包含了项目的各个模块,如res资源文件夹、src源代码文件夹、AndroidManifest.xml配置文件等。 2. 工程依赖:源码可能依赖于Android SDK的特定版本以及支持库,需要确保Android Studio或...
5. **数据集**:可能包含预处理的游戏状态数据,用于训练神经网络。 6. **配置文件**:可能有设置超参数、学习率、探索策略等的配置文件。 7. **结果展示**:可能有训练过程中的得分曲线图或者其他可视化结果,展示...
`.classpath`和`.project`是Eclipse IDE的配置文件,用于管理项目的构建路径和元数据;`bin`目录存放编译后的类文件;`.settings`存储用户特定的项目设置;而`src`目录则是源代码的存放地,其中包含了游戏的主要逻辑...
4. 配置备份:按照程序的提示,指定备份的位置和要备份的Thunderbird配置文件路径。 5. 执行备份:程序会执行备份过程,复制所有必要的设置和数据。 6. 存储和恢复:将备份文件安全存储在另一台设备或云存储服务中,...
`Assembly-CSharp.csproj`是Unity自动生成的C#项目的配置文件,包含了项目的所有源代码引用和编译设置。 接下来,`obj`和`ProjectSettings`目录分别存储了编译过程中产生的中间文件和项目设置。`obj`目录下的文件是...
在这个游戏里,JavaScript文件可能会包含游戏的主要逻辑,而其他文件可能是图像资源、音频文件或者游戏配置数据。 JavaScript特效在游戏开发中扮演着重要角色,它允许游戏在用户设备上实时运行,无需服务器端交互。...
# 在Bird配置文件中启用rpki模块 protocol rpki { # 指定RPKI服务器的URL或者本地存储库路径 source ; # 配置RPKI验证行为 action reject; } # 如果使用本地存储库,可能需要如下设置 source local { file /...
4. **配置**:根据项目需求配置Hummingbird 的设置文件。 5. **启动服务**:运行`node server.js`(或类似命令)启动Hummingbird 服务。 6. **监控界面**:在浏览器中访问指定URL查看实时监控数据。 总结,Humming...
这些库提供了丰富的API和配置选项,可以定制颜色、轴标签、数据点、动画效果等。折线图的实现涉及到数据的预处理、坐标系统的设置、以及图形渲染原理的理解。 接着,MD5(Message-Digest Algorithm 5)是一种广泛...
1. Bird.pde:这是小鸟类的源代码,可能包含了小鸟的绘制、运动逻辑和碰撞检测。在Processing中,通常会用到PDE(Processing Development Environment)格式的文件来编写代码。 2. function.pde:这可能是包含游戏...
对于NoSQL数据库HBase,Elephant Bird提供了对LZO和protobuf的支持,包括对列族的配置和数据读写的优化。这使得HBase可以更好地处理压缩数据,减少了存储空间需求,同时保持了高性能。 总结来说,Elephant Bird项目...
此外,elephant-bird-core-4.5还支持反序列化和序列化,以及生成自定义的InputFormat和OutputFormat,这些特性使得开发者能够轻松地将各种数据源集成到他们的大数据处理流程中。 接下来,我们转向scoverage-maven-...
Elephant Bird将Cassandra的数据模型转换为Pig可以理解的形式,使用户能够方便地在Cassandra上执行分析和数据挖掘任务。这个版本(4.1)包含了对Cassandra CQL3的支持,使得处理Cassandra数据更加灵活和高效。 ...
9. **开源**:作为开源软件,Thunderbird的源代码对公众开放,意味着用户可以自由查看、修改和分发软件,也有社区不断为其改进和维护。 在Thunderbird91.0b4版本中,可能包含以下改进和新特性: - 性能优化:提升...
标题中的"DRL-FlappyBird-master.7z"暗示了这是一个关于深度强化学习(Deep Reinforcement Learning,简称DRL)的项目,其中包含了用于训练和实现Flappy Bird游戏的源代码。Flappy Bird是一款非常流行的手机游戏,...
使用时,需要配置数据源、样式等参数,然后在小程序页面上插入图表组件即可。 三、MD5加密 MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意长度的信息映射为固定长度的摘要,通常用于验证...