`
zhangfan822
  • 浏览: 255903 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

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

    博客分类:
  • birt
阅读更多
可以用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"));
}
 
分享到:
评论
1 楼 zhizunbaoaaa 2012-09-05  
问一下为什么用Birt定义动态标题参数的时候,老出现错误:
在定义sql语句时,点ok就这个错:

sql语句:select *
from SCOTT.DEPT
where SCOTT.DEPT.DEPTNO=?

错误:
cannot get parameter type.
sql error #1:不支持的特性
java.sql.sqlexception:不支持的特性

reasom;

a birt exception occurred.
但如果用birt自带的示例数据数据库,就不会报错,我用oracle 10g就报错。


相关推荐

    birt脚本数据源示例

    本文将深入探讨BIRT脚本数据源的概念、配置以及如何创建和使用脚本数据源。 首先,理解BIRT脚本数据源的本质。BIRT脚本数据源基于Eclipse RCP的脚本引擎,允许开发者编写JavaScript代码来与数据库或其他数据提供者...

    birt 报表动态数据源设置方法

    1. **创建数据源模板**:在BIRT报表设计器中,创建一个数据源,并进行基本的配置,如选择数据库类型、填写JDBC驱动等。但不填入具体的连接信息,如数据库URL、用户名和密码。 2. **使用脚本或表达式**:在数据源的...

    BIRT数据源设置和动态Sql

    ### BIRT数据源设置与动态SQL详解 #### 一、通过Library实现数据库连接管理 **1.1 Library的理解** 在BIRT(Business Intelligence and Reporting Tools)中,Library是一种用于集中管理和复用报表资源的重要机制...

    用pojo对象作birt的数据源

    在BIRT中,数据源通常可以是数据库连接、XML文件、Web服务等。然而,当数据源为动态生成或者来自复杂的业务逻辑时,直接使用POJO对象作为数据源更为合适。这允许我们直接操作Java对象,避免了中间转换步骤,提高效率...

    birt中文使用说明

    3. 配置数据源:在BIRT Designer中,通过“数据”视图创建新的数据连接,选择对应的数据源类型(如MySQL、Oracle等),输入连接信息。 三、报表设计 1. 报表模板:BIRT提供了多种报表元素,如表格、图表、文本框等...

    birt中文帮助文档

    6. **脚本和扩展**:BIRT允许用户使用JavaScript进行脚本编写,实现更高级的功能,如动态数据处理、计算逻辑、自定义行为等。此外,BIRT的开放架构允许开发人员通过插件进行功能扩展。 7. **运行时环境**:BIRT的...

    birt使用小结

    4. **Data Access API**:用于连接和处理各种数据源,包括数据库、Web服务、文件等。BIRT提供了数据适配器,使得数据获取更加方便。 5. **Charting API**:BIRT内置了强大的图表引擎,可以创建各种类型的图表,如...

    Birt中文手册.chm

    如何对数据库或其他 JDBC 数据源指定连接信息 如何添加 JDBC 驱动程序 如何删除 JAR 文件中的所有 JDBC 驱动程序 检索数据 如何创建数据集 如何更改数据集的数据源 如何对 JDBC 数据集编写 SQL 查询 如何对 ...

    BIRT中文手册

    手册会教授如何在BIRT中创建数据集,以及如何利用脚本语言增强数据处理能力,例如JavaScript,以实现更复杂的逻辑。 **5. 图表创建** BIRT提供了丰富的图表类型,如柱状图、饼图、线图等。手册将指导用户如何创建、...

    Birt与Echarts集成.pdf

    在集成Birt和Echarts的过程中,首先需要利用Birt的JDBC功能获取数据源。JDBC是一种用于执行SQL语句的Java API,能够连接和访问存储在不同数据库中的数据。然后,通过JavaScript脚本组装对应的Echarts组件来渲染数据...

    开源报表BIRT开发手册

    BIRT支持JavaScript和Java脚本来增强报表的功能,例如实现隔行变色、多参数查询、动态数据源创建等。 **Birt报表部署** BIRT报表可以部署到不同的环境,如直接使用BIRT运行时包,或者集成到现有的Web应用中。部署...

    birt中使用script简介

    在BIRT的环境中,脚本是增强报表功能的关键工具之一,尤其对于数据源、数据集以及报表项的动态控制至关重要。通过脚本,开发者能够对数据进行实时处理,例如数据转换、条件判断、计算逻辑等,无需依赖于底层数据库的...

    eclipse开发birt程序教程

    BIRT 支持多种数据源类型,包括数据库、XML 文件、Web 服务等。你需要根据实际需求配置数据源,填写连接参数,例如数据库的 URL、用户名和密码。配置完成后,数据源会被保存在报表设计中供后续使用。 **4. 创建数据...

    在birt中添加js日期控件

    BIRT支持多种数据源,并提供了丰富的图表、表格和自定义组件,以便于数据可视化和分析。 时间控件在报表设计中扮演着关键角色,特别是对于需要用户输入特定日期范围的场景。传统的文本框输入方式可能导致用户输入...

    birt详细操作手册

    BIRT是一个基于Java的开放源码平台,它提供了报告设计工具和运行时组件,能够与各种数据源集成,包括关系数据库、XML、Web服务等。它的设计环境是基于Eclipse IDE的,易于使用且功能强大。 2. **安装与配置** ...

    BIRT的集成开发教程

    作为Eclipse基金会下的一个项目,BIRT凭借其强大的功能,如广泛的数据库产品兼容性、XML数据源支持、文本文件数据源处理能力,以及对Java程序生成的数据源的灵活性,迅速在报表设计领域崭露头角。 #### 二、BIRT...

    BIRT报表应用

    2. **XML数据源**:从XML文件中读取数据。 3. **CSV数据源**:直接读取CSV格式的文件数据。 4. **脚本数据源**:通过JavaScript编写脚本来动态获取数据。 #### 六、BIRT报表的输出格式 BIRT支持多种输出格式,包括...

    BIRT使用说明

    3. **数据源配置**:根据项目需求,配置各种数据源,如数据库、XML文件或Web服务等。 **三、报表设计** 1. **新建报表项目**:在Eclipse中,通过“File” -> “New” -> “BIRT” -> “Report”来创建一个新的报表...

Global site tag (gtag.js) - Google Analytics