org.eclipse.birt.report.data.oda.jdbc.JDBCException: Missing properties in Connection.open(Propertie

时间:2023-03-09 00:52:38
org.eclipse.birt.report.data.oda.jdbc.JDBCException: Missing properties in Connection.open(Propertie

首先查看project的web.xml档“BIRT_RESOURCE_PATH”属性的设置。此属性设置的是“用户资源存放路径。这些资源包含 library 文件,image 文件等。默认是当前根文件夹。”比方我的设置为“/library”。则表示是全部的库文件都是在跟木下的library文件夹下。

查看报错报表文件的xml源码。发现引入的库路径为“library/ds.rptlibrary”,这是在将库文件拖放到报表文件时自己主动加入的,此时完毕报表后在预览和执行时能够正常看到结果。可是在tomcat下会执行出错。即标题提示的错误。

解决的方法:

a.删除报表文件的ds.rptlibrary引用。

b.点击eclipse上方的菜单条“窗体”→“首选项”,左側找到“报表设计”→“资源”。点击“选择”找到当前project下的library文件夹,然后确定退出。

c.又一次将ds.rptlibrary引入到报表文件里。

d.预览、执行报表均正常。在tomcat下执行也正常。

个人理解首选项中设置的资源属性是相对project的library配置,当拖放library到报表文件时,birt会读取此配置并加入相对路径(默觉得当前project路径。因此当此配置为空时加入的是library/ds.rptlibrary),此时预览报表正常。当启动tomcat后,web.xml中的配置则会将此配置定义为library文件夹下,然后再依据默认的配置library/ds.rptlibrary查找。此时查找库的路径相对于project下的“/library/library/ds.rptlibrary”文件,此时当然找不到库文件了。改动后则保证了在预览和在tomcat下执行报表时查找的路径是project在下面library夹。从而保证了正常的分析报告。

版权声明:本文博主原创文章,博客,未经同意不得转载。