使用birt开发出来几个报表,在给用户部署时,有一个报表老是出现用户名口令错误,从而造成oracle用户被锁。
在现场直接使用birt设计器,没有问题,而一部署到运行环境就不行。
首先排除问题:
1、配置的用户名口令正确,报表设计时连接的用户名口令也正确。
证明:设计时预览数据正常,配置的其他报表显示正常。
2、报表本身没有问题:
证明:把报表放到公司搭建的运行环境中,一切正常。
重新创建一个报表,还出现用户名口令错误、oracle用户被锁情况。
在公司大牛的提示下,拿出一个能正常运行和该报表进行文本对比,并一点点的调整,测试。
最后,发现原因是数据源的口令加密方式,和正常运行的报表不一样,如下:
正常运行报表的口令加密是:
[html] view plain copy
把口令加密方式和口令修改为和正常运行的报表口令一样,再次运行,一切正常。
分析:
公司在birt上进行了二次开发,可能造成运行时环境只能识别对口令的“base64”加密方式。
而口令加密在birt设计器中是看不到了,造成了该问题的隐蔽,不易发现。