birt用脚本javascript创设数据源,并从配置文件中读数据库信息

您所在的位置:网站首页 java从数据库中获取数据信息 birt用脚本javascript创设数据源,并从配置文件中读数据库信息

birt用脚本javascript创设数据源,并从配置文件中读数据库信息

2023-03-25 04:46| 来源: 网络整理| 查看: 265

[url]http://www.myexception.cn/database/607282.html[/url]

birt用脚本javascript创建数据源,并从配置文件中读数据库信息 可以用script去解决第一个问题。 第一步: 新建一个JDBC数据源(这里要说明的是必须要填写Driver class和Driver URL,不然新建不了JDBC数据源,这里birt就有点让人郁闷啦) 第二步: 选择上一步新建好的数据源,然后选择script窗口,在数据源的beforeOpen事件中写以下代码 可以定义一个参数去指定properties文件的路径,然后创建datasource。 在datasource的script中编辑beforeOpen事件,参考下面的代码:

importPackage( Packages.java.io );importPackage( Packages.java.util );

fin = new java.io.FileInputStream( new String(params["propFile"]) );props = new java.util.Properties( );props.load(fin);

extensionProperties.odaURL = new String(props.getProperty("url"));extensionProperties.odaDriverClass = new String(props.getProperty("driver"));extensionProperties.odaUser = new String(props.getProperty("userid"));extensionProperties.odaPassword = new String(props.getProperty("password"));

fin.close();

这样就可以从properties文件中动态读取数据源配置信息。

----------------------------------------------------------------------------------------------------------------

你可以把配置文件在代码里写死,也可以定义为报表参数,请注意params["propFile"]这里。

这里的代码只支持绝对路径,在deployment的情况下可能不太适用,可以修改一下支持相对路径,相对于你发布的应用根目录。

importPackage( Packages.java.io,Packages.java.util,Packages.java.net );importPackage( Packages.javax.servlet.http );

req = reportContext.getHttpServletRequest( );propPath = new String(params["propFile"]);if ( propPath.charAt(0) != "/" ) propPath = "/" + propPath;

url = req.getSession( ).getServletContext( ).getResource( propPath );if ( url != null ){ props = new java.util.Properties( ); props.load( url.openStream( ) );

extensionProperties.odaURL = new String(props.getProperty("url")); extensionProperties.odaDriverClass = new String(props.getProperty("driver")); extensionProperties.odaUser = new String(props.getProperty("userid")); extensionProperties.odaPassword = new String(props.getProperty("password"));}



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3