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

2025-03-22 15:32:00
推荐回答(1个)
回答1:

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

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

首先排除问题:

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

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

2、报表本身没有问题:

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

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

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

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

                   oracle.jdbc.driver.OracleDriver            jdbc:oracle:thin:@192.168.0.155:1521:orcl            tjxs_eagle            816d12df64672298            java:comp/env/dfsoft/report          

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

[html] view plain copy

  • dGp4c19lYWdsZQ==  

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

    分析:

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

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