birt报表运行错误,有谁知道是什么问题吗?

Multipleannotationsfoundatthisline:-org.eclipse.birt.report.engine.api.EngineExceptio... Multiple annotations found at this line: - org.eclipse.birt.report.engine.api.EngineException: Cannot get the result set metadata. org.eclipse.birt.report.data.oda.jdbc.JDBCException: SQL statement does not return a ResultSet object. SQL error #1:ORA-00918: column ambiguously defined ; java.sql.SQLException: ORA-00918: column ambiguously defined at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1245) at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1224) at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:96) 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.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:468) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:476) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.execute(HTMLAbstractLM.java:476) at 展开
 我来答
麦积财税
2018-08-21 · 专注于财税服务20年!
麦积财税
麦积财税集团成立于1999年,是集会计培训、工商服务、财务管理、税务筹划、税务咨询、审计法务以及知识产权为一体的大型集团企业。集团自有税务师事务所、会计师事务所,已建立会计培训学校17所。
向TA提问
展开全部

使用birt开发出来几个报表,在给用户部署时,有一个报表老是出现用户名口令错误,从而造成oracle用户被锁。

在现场直接使用birt设计器,没有问题,而一部署到运行环境就不行。

首先排除问题:

1、配置的用户名口令正确,报表设计时连接的用户名口令也正确。

证明:设计时预览数据正常,配置的其他报表显示正常。

2、报表本身没有问题:

证明:把报表放到公司搭建的运行环境中,一切正常。

重新创建一个报表,还出现用户名口令错误、oracle用户被锁情况。

在公司大牛的提示下,拿出一个能正常运行和该报表进行文本对比,并一点点的调整,测试。

最后,发现原因是数据源的口令加密方式,和正常运行的报表不一样,如下:

<data-sources>        <oda-data-sourceextensionID="org.eclipse.birt.report.data.oda.jdbc"name="DFDataSource" id="7"  extends="dfsoft_report_library.DFDataSource">             <propertyname="odaDriverClass">oracle.jdbc.driver.OracleDriver</property>            <propertyname="odaURL">jdbc:oracle:thin:@192.168.0.155:1521:orcl</property>            <property name="odaUser">tjxs_eagle</property>            <encrypted-property name="odaPassword" encryptionID="jce">816d12df64672298</encrypted-property>            <propertyname="odaJndiName">java:comp/env/dfsoft/report</property>        </oda-data-source>    </data-sources>

正常运行报表的口令加密是:

[html] view plain copy

  • <code class="language-html"><encrypted-property name="odaPassword" encryptionID="base64">dGp4c19lYWdsZQ==</encrypted-property></code>  

  • 把口令加密方式和口令修改为和正常运行的报表口令一样,再次运行,一切正常。

    分析:

    公司在birt上进行了二次开发,可能造成运行时环境只能识别对口令的“base64”加密方式。

    而口令加密在birt设计器中是看不到了,造成了该问题的隐蔽,不易发现。

深圳云诺科技
2024-11-11 广告
作为深圳云诺互联科技有限公司的一员,我们推荐使用先进的项目进度管理工具Project来高效管理项目。该工具集计划、跟踪与调整功能于一体,助力团队明确各阶段任务,合理分配资源,实时监控进度。通过直观的甘特图展示,项目延期风险一目了然,便于及时... 点击进入详情页
本回答由深圳云诺科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式