统计报表基本上是大多数系统必不可少的组成部分,由于各种原因有很多人不喜欢使用第三方报表。那么Mircsoft自带的rdlc/rdl报表就成了很多人的首选,不过缺点就是对运行时设计支持不太友好。而这个功能又恰恰是很多人和系统迫切需要的!下面我提供了一种方法,基本上实现了Asp.net Web环境下的报表运行时设计功能,有一定局限性,仅供参考。

 

一、工具

SQL Server Reporting Services和Report Builder。Reporting Services可以看作SQL Server的一个组件,如果购买了SQL Server,那么Reporting Services就可以免费使用。Report Builder是微软专门为SQL Server Reporting Services提供的一个报表创作环境,官网提供免费下载。(注意,3.0版本只支持SQL Server 2008R2,2.0版本对应SQL Server 2008,1.0版本没用过,所以建议大家安装SQL Server 2008/2008R2版本)。

 

二、配置Reporting Services

开始菜单依次打开“程序”->“Mircosoft SQL Server 2008R2”->“配置工具”->“Reporting Services 配置管理器”。

    捕获aa

一般上使用默认设置就可以了,在“服务账号”选项卡上面配置Reporting Services系统服务所使用的帐号;“Web服务Url”就是报表服务地址(通过这个Url实现报表呈现功能);“数据库”选项卡上设置Reporting Services登录帐号(访问Web服务Url的帐号)和报表数据库帐号(连接数据库的sa帐号/用户帐号)。能正常访问Web服务Url报表管理器Url就算配置完成了。

 

三、设计报表

首先新建一个报表服务器项目。添加数据源,定义数据集,添加报表(默认是rdl格式,rdlc也支持,通过添加现有项目)。

捕获2

 

四、部署报表

设置项目属性中的TargetServerURL为刚才配置的“Web服务Url”,然后就可以部署到报表服务器上了。

捕获3

 

通过“报表管理Url”可以看到设计的数据源、数据集和报表已经部署到报表服务器上了。

捕获4

 

五、设计页面

新建一个Web应用程序或网站。

sdf

 

添加一个页面,使用ReportViewer服务器控件来展现刚才设计的报表。注意:“报表路径”要以“/”开头。

无标题

 

六、发布网站

在客户端,我们使用Report Builder作为报表设计工具。所以切记在相关页面上要添加报表服务器的“报表管理Url”,这个就是运行时报表设计的入口点!!

132

 

七、编辑报表

在客户端,我们进入“报表管理器”,点击“报表生成器”进行安装Report Builder(服务器有一个副本,以供客户端下载安装)。

无标题

 

安装玩后,就可以在目标报表右键选择“在报表生成器中编辑”。这里只是修改一下标题,也可设置是否允许修改数据源和数据集(放入不同文件夹,进行权限控制)。

捕获03

 

八、完成

修改完报表后,保存到服务器上,刷新一下刚才那个页面,看看效果,是不是已经成功了?!

捕获01

 

九、小结

这个方法勉强实现了报表运行时设计功能,不过有很多不是很灵活的地方,比如要求安装SQL Server 2008/2008R2(2005没试过,不确定可行),要完全开发Reporting Services报表管理器的权限给客户端,对数据库服务器的安全性带来一定考验。另外,报表文件缺乏版本控制,如果一个客户端修改了报表,其他客户端也会收到影响……

暂且提供这种方法,因为没在正式项目中使用,到底可不可行,实不实用,各位自行斟酌。

 

源代码

作者: Martell XO 发表于 2011-03-01 20:54 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"