birt报表运行时用户名、口令错误一例

使用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>

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

<encrypted-property name="odaPassword" encryptionID="base64">dGp4c19lYWdsZQ==</encrypted-property>

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

 

分析

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值