SharePoint 2010 页面引用 Reporting Services 展现 List 报表

时间:2022-01-02 07:25:18

http://www.cnblogs.com/flowman/archive/2012/05/28/2501927.html

上面的是写好的方案。

准备给公司写一个方案,目前的成果已经出来,详细的每一步贴图等公司那边的发布出来,我弄个链接过来就好了。不过在过程中,真是走一步都是荆棘密布。这里面就只捡关键的说了。

环境:Windows Server 2008 R2;SQL Server 2008 R2; SharePoint 2010 Server。

工具:Reporting Services 配置管理,SQL Server Business Intellegence Development Studio

首先SQL Server 2008 R2要装Reporting Service。这个没有什么特别。

下载add-in,并且安装

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

Reporting Services配置管理器,注意新建一个sharepoint2010集成数据库,凭据用默认的集成方式(我喜欢用域管理员账号,结果凡是和数据库关联的,直接用集成就好了。我折腾了很久才得出的经验。)。

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

配置服务账户(这个很重要)后面的帖子会贴出来遇到问题的时候需要配置这个。

配置加密密钥,备份一个文件在服务器。这个最重要,很多死就死在这个上面。那种部署报表不断提示输入用户名,一直到Kerberos都搞出来的。都是这个可以化解。

配置管理中心

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

制作报表,建立一个报表服务器项目

 

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

添加报表,在报表向导选择Microsoft SharePoint 列表

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

在连接字符串填写你要查找列表所在的url

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

选择好列表的栏后,查看预览

 

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

靠,出来了,出来了就好办了,结果想部署,部署我搞了好久,后来发现部署的思路是错误滴,直接编译一下,就用这个报表文件。其实可以看出不用这个开发环境,ReportService也提供了个编辑报表的东西ReportBuilder。大同小异。

在sharePoint建立个文档库,上传这个报表

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

看到这里就知道为什么很多讲在开发环境部署的时候要在项目要配置目标文件夹啊,目标地址啊弄一堆url地址出来,但在集成模式下支持和不支持的功能中还特别讲到不能用这个开发环境来部署,还有一种情况,就是把数据源,数据集都上传到这个文档库中。数据集还好,数据源不知道为什么不好用。所以干脆就一个报表一个自己的数据集。上传数据集应该也好用,但实在只有2天研究,没时间了。

一定要预览,如果预览好了,剩下的问题就超级简单。点击查看文档库的文件。出来了。如果报错,基本上就是reporting service配置管理器没配置好。

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

新建一个页面,引用webpart装载这个报表文件,sharepoint提供好了

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

唯一就是选择报表的时候要在文档库里查询,选择那个报表文件。

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

这样效果就出来了。

因为一直以为reporting services是提供一个自己的虚拟目录,来展现报表,然后用sharepoint导航关联过来,后来看了技术文档才知道要用文档库的。这个灵感也是来自网站页面都放在了文档库里了,为什么报表就不能呢。果然靠谱。就这么搞出来。

最终效果

SharePoint 2010 页面引用 Reporting Services 展现 List 报表

解脱了,网上N种方法,还是我这个从头到尾最简单,在这个基础上搞也容易很多。

另外做报表查询有用sql连接,然后拼sql语句读数据的,那个要看得懂sharepoint数据库。当然这个最灵活,

还有就是读xml出来了,对象模型,这个可能就要动xslt了。都是数据源的不同展示形式,

我一定要把这个list做数据源搞出来仅仅是因为这个最直观,最简单。

-------------------------------------------------------------------------------------------下面的是过去式

终于把第一个方法给搞出来了。直接读取数据库的方法,第二种方法搞定

准备写一个方案 直接读取SharePoint 2010列表数据

基本上数据和SharePoint的设置都出来了,就倒在了部署Reporting services的时候填写用户名上。这个东西对权限的控制很多。虽然网上有一些解决问题的帖子,但不太好用。

参考了一些

觉得很奇怪

1为什么要上传到文档库里?

http://www.mssqltips.com/sqlservertip/2122/integrating-sql-server-2008-r2-reporting-services-with-sharepoint-2010/

 

想搞匿名访问的

http://www.cnblogs.com/chillsrc/archive/2007/07/19/823886.html

 

集成模式下支持和不支持的功能

http://65.55.20.234/zh-cn/library/bb326290(v=sql.90).aspx

 

文轩阁用了第一个的方法

http://www.cnblogs.com/fanwenxuan/archive/2010/09/08/1821728.html

 

大侠又来了个Using Kerberos with the Report Server

http://blogs.msdn.com/b/psssql/archive/2011/02/21/sharepoint-adventures-using-kerberos-with-the-report-server.aspx

 

 ........