根据条件切换报表所用数据源或表名

编辑
  • 文档创建者:印然
  • 浏览次数:8988次
  • 编辑次数:17次
  • 最近更新:Kevin-s 于 2019-06-20
  • 1. 描述

    若您数据库中的表结构是一样的,其数据是不一样的,您希望可以动态切换数据库使其展示的结果不同。

    还有一种情况,若是 Oracle 数据库中的模式名和表名不一样,表结构一样且数据是不一样的,希望可以动态切换模式名和表名使其展示的结果不同。

    那么您可以做以下设置解决此类问题。


    2. 动态切换数据库的解决方案

    在数据连接和模板做好的基础上,如:以 Oracle 数据集为例,原来直接在 URL 后直接写数据库的名字,现在直接在里面写个参数,如下图所示:


    注:用户名和密码也可以使用参数

    ${database} 参数赋值即可实现动态数据源的效果。

    给 ${database} 参数赋值一般使用在 URL 中直接输入的方式,URL 如:

    http://localhost:8075/webroot/decision/view/report?viewlet=1.cpt&database=frhelp


    3. 动态切换模式名和表名的解决方案

    同样在数据连接和模板做好的基础上,改变数据集定义把模式名和表名都变成参数,如下图所示:


    给这两个参数赋值即可。

    注:如果使用的不是 Oracle 数据库,那么只需定义一个表名参数,如 select * from ${tablename},即可实现动态切换表的效果。


    4. 动态切换 IP 地址、数据库名字的解决方案

    以 SQL Server 为例:动态 IP 和数据库名,可以让用户名和密码也通过参数来传递



    原报表地址为:http://localhost:8075/webroot/decision/view/report?viewlet=test_1.cpt

    现动态访问地址:http://localhost:8075/webroot/decision/view/report?viewlet=test_1.cpt&ip=localhost&dbname=test&user=sa&password=123456

    参数分析: 

    • 给参数 IP 传值:「localhost」

    • 给参数 dbname 传值:「test」

    • 给参数 user 传值:「sa」

    • 给参数 password 传值:「123456」

    其他数据库的设置类似,这里就不一一赘述了

    注:如集成在某个系统的话,参数传递和报表处理参数是一样的。


    关键字:动态数据源、动态数据库、动态库、动态IP、动态数据连接


    附件列表


    主题: 报表应用
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]