By Ben
Reporting Service + SP1 for SQL server 2000 预览研究
环境
: WinXP, SQL Server 2000 + SP
附件
: (
下载附件
)
Project: Reporting Service
报表设计的
Project
Setup:
报表程序发布安装程序
Web: Reporting Service
的
Web
应用
Win: Reporting Service
的
Win
应用
研究思路
:
1.
了解熟悉
Reporting Service
各个基本概念
2.
安装运行
Reporting Service
3.
配置
Reporting Service
设置
4.
设计报表
5.
实现
.Net
程序调用报表
6.
实现安装发布报表
概述
Reporting Service
与大家熟悉的水晶报表是同一类东西
:
报表工具
.
基于
Sql Server 2000,
结合
VS.NET
强大的设计器可以轻松实现报表制作
Reporting Service
组件
:
1. Web
报表管理器
(http://localhost/Reports)
2. VS.NET
报表设计器
3.
报表
Web Service (http://localhost/ReportServer/ReportService.asmx)
4. Reporting Service
的
Web
端站点
(http://localhost/ReportServer)
报表主要构成
:
数据源
(RDS)
配置数据库连接串
.
是一个标准
xml
文件
报表
(RDL)
配置
sql
语句
,
报表样式
.
也是一个标准
xml
文件
1.
安装
需求环境
: Sql Server 2000 + SP
安装过程中可以设置组件
1,
组件
4
的
Web
路径
(
本研究过程设置默认路径
)
过程略
2.
配置
进入
Web
报表管理器
(http://localhost/Reports)
A.
管理用户
用户角色分
:
发布者
可以将报表和链接报表发布到报表服务器。
浏览者
可以查看文件夹、报表和订阅报表。
内容管理员
可以管理报表服务器中的内容。包括文件夹、报表和资源。
我的报表
可以发布报表和链接报表;管理用户的
My Reports
文件夹中的文件夹、报表和资源。
用户权限设置与我们熟悉的
SharePoint
很相似
,
可以设置报表
Web
端站点的权限和某个报表的权限
.
不同的是
, Reporting Service
权限设置可以结合
Sql
的用户设置来实现更具体的权限分配
关键是报表的数据源连接要以
Windows
身份验证
(
目的是将
Web
访问的
Windows
身份带到
Sql),
不能为
sa
用户
B.
报表的订阅
这点与
SharePoint
也很相似
,
可以将订阅一些报表
. (
具体实现在本次研究中略过
)
C.
报表的历史
可以实现快照功能
,
可以手工创建
snapshot,
也可以实现无人操作
--
设定
snapshot
计划自动创建
snapshot. (
具体实现在本次研究中略过
)
D.
报表的
"
执行
"
设置
可以设置报表的数据缓冲
,
执行时间
(
超时时间
). (
具体实现在本次研究中略过
)
此外
,
可以上传
rds, rdl(
数据源
,
报表
).
由于它们只是
xml
文件
,
所以可以很灵活
.
由
ReportingServicesService.exe
这个
window service
解析
3.
设计报表
1)
运行
vs.net
2)
创建项目
->
3) (
此时可以从项目模板分类里有
"
智能商业项目
"
里的列表中看到有一项是
Reporting Service
项目模板的
)
选取
Reporting Service
项目模板并创建
创建报表可以使用向导创建
,
高级点的也可以手工创建
项目会自动生成两个
Folder:
共享数据源
, Reports
这里介绍手工创建主要过程
:
A.
新建数据源
.
在
Folder
共享数据源里利用右键添加新项来创建数据源
,
它会自动生成一个
rds
文件
B.
新建报表
.
同样
,
利用右键添加新项创建报表
,
它会自动生成一个
rdl
文件
.
在这里我们可以像设计
asp.net
页面一样来设计报表样式
C.
发布
/
部署到
Reporting Service
的
Web
端站点
.
首先打开报表的
project
属性看看
:
OverwriteDatasources: true|false
部署时是否覆盖现在的
rds
数据源
TargetFolder:
部署到
Reporting Service
的
Web
端站点的报表的目录
,
比如输入
DemoProject,
需要在
http://localhost/ReportServer/DemoProject
下访问部署的报表
TargetServerURL:
部署到
Reporting Service
的
Web
端站点的
Web
路径
StartItem:
这个是运行在
vs.net
上的
,
按
Ctrl + F5
运行报表
Project
的报表启动项
4. .NET
程序调用报表
(
实例请看附件
)
方式一
:
也是最简单的调用
,
就是直接用
Brower
打开
Reporting Service
的
Web
端站点的报表
.
可以通过
URL
参数作为报表的输入参数
,
具体的请看附件
Web
项目的
DynamicQuery.rdl
方式二
:
通过调用
Reporting Service
提供的
Web Service.
它已经提供有若干的
Web method
供调用
5.
发布安装报表
安装
Reporting Service
后会有个
rs.exe
工具
.
路径
"%SYSTEMDRIVE%\Program Files\Microsoft SQL Server\80\Tools\Binn\RS.exe"
可以看看
rs.exe
的
help,
它支持几个特定的参数
,
利用
.rss
脚本实现将
rdl, rds
发布安装到
Web
端站点
经研究已经设计出一个
Setup
程序
.
见附件
Setup
目录
总结
:
感觉上
,
Reporting Server
的缺点
:
Reporting Service
报表设计上还有些不成熟
设计报表不方便
; Web
端浏览报表必经导出后才可以打印
;
有些设置的东西无效
(
这点好比设置
asp.net
的
Session
生存时间时灵时不灵的现象
);
复杂的报表
(
比如嵌套的子报表
,
如附件里的
supplier.rdl)
查询慢
.
虽如此
,
但
Reporting Service
还是一个比较
Cool
的报表工具
,
可取之处也正是如上介绍它的一些的特点
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=193378