历史版本13 :根据条件切换报表所用数据源或表名 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑


若您数据库中的表结构是一样的,其数据是不一样的,您希望可以动态切换数据库使其展示的结果不同。还有一种情况,若是oracle数据库中的模式名和表名不一样,表结构一样且数据是不一样的,希望可以动态切换模式名和表名使其展示的结果不同。那么您可以做以下设置解决此类问题。

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

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

222

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

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

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

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

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

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

222

给这两个参数赋值即可。


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


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

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

222


原报表地址为: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、动态数据连接