使用 Excel Services ,结合 Analysis Services 在 SharePoint 中发布报表
ssas、excel和moss的关系如下:
我这里在同一台机器上安装sql server 2005和moss 07,情况如下:
机器名:esestt
所在域:myhome.cheney
sql server 2005
实例名:mssqlserver
登录身份:myhome\administrator
在ssas中部署adventure works数据库作为样本
moss 2007
在80端口建立一网站集,使用报告中心模板,用作发布excel报表
step 1
在shared services管理站点,加入受信文件位置。
将moss网站中要发布excel报表的库加入,以便excel文件能访问。
加入信任位置后先不要关闭这个地址,之后的步骤还要用到。
step 2
为用户授予olap数据源的访问权限。
step 3
新建一excel文档。在文档中连接到olap服务器。
随意选择一个adventure works的视图或者立方体。然后点完成。
这时会询问是否建立透视表或者数据透视图,选确定。
step 4
点击数据连接属性,在“使用状况”中可以设定excel中数据刷新频率,以及是否从olap数据库中读取数据颜色、格式等属性。
再看“定义”
注意“连接文件”这项,是一个odc文件,这个文件存储着外部数据源连接的信息,是在之前建立olap数据库连接时excel自动建立的。
需要解释一下,excel获取外部数据源连接信息的方式有两种,一是通过外部数据连接文件,就是这里的odc文件;二是嵌入数据连接信息,就是上图中的连接字符串。当excel无法从外部连接文件中获取正确的外部数据连接时,会尝试通过嵌入连接信息连接到外部数据源。
再回到step 1中加入的信任文件位置页面,点击之前加入的库地址以修改信任设置,注意在有一栏是关于外部数据设置。
在允许外部数据这里是设置可以使用何种连接方式,受信任的数据连接库是指在库中的外部odc文件。这里选中“受信任的数据连接库和嵌入连接”表明可以在excel中使用外部odc连接和嵌入连接。顺便取消选中“启用刷新警告”。修改后选确定。
step 5
在excel数据连接属性中可看到odc文件是保存在本地硬盘上的,如果将excel文件发布到moss上,odc文件也要发布到moss上才行。
跟发布excel文件的库需要受信任一样,odc所在的数据连接库也要受信任。
在shared services管理中心,点“受信任数据连接库”。
加入要发布odc文件的库地址。
step 6
在连接属性中点击“验证设置”,可看到excel services的验证有三种。
下面分别介绍三种认证方式的配置方法
(a)无身份验证:
在excel连接属性中选择无身份验证。
在shared services管理中心中编辑excel services设置。
为外部数据源设置一个默认的帐户,当excel中的没有使用认证方式时,则尝试使用此帐户连接数据源。
(b)sso
首先开启sso服务,并为sso设置足够权限的帐户。
在moss的管理中心中选“管理单一登录的设置”
在下一界面中选“管理服务器设置”, 设置管理帐户和sso数据库。这里的帐户必须是ad中的帐户。
完成后回到前一界面,选“管理企业应用程序定义设置”,新建一项目。
设置sso的名称,帐户类型等,我这里选的是组,选中windows验证。
完成后,回到前一界面,选“管理企业应用程序定义的帐户信息”
输入组帐户,我这里用的是域用户组。
点设置,输入用以访问外部数据源的帐户。
完成后,在指定用户组中的成员将可以使用同样的权限访问外部数据源。
(c)windows认证
相比前两种认证方式,windows认证无疑是最佳方案。
首先要安装windows server支持工具,可以从win server 03 sp1光盘中或微软的网站上找到,详见
然后配置kerberos认证,下面的配置过程参照了微软网站文档,详见:
http://msdn2.microsoft.com/en-us/library/aa302392.aspx
完整的kerberos认证方式如下图:
1 默认情况下,ssp获取方式是“trusted subsystem”,如果之前没有更改过可使用stsadm.exe更改,stsadm.exe用法如下:
像我这里使用命令行:stsadm -o set-ecssecurity -ssp sharedservices -accessmodel delegation
sharedservices是我共享服务的名称。
2 用于发布报表的web应用程序必须是kerberos认证,如果最初建立应用程序时使用的是ntlm认证,可在moss管理中心修改。
3 在支持工具目录中,执行下面两条语句:
setspn.exe -a msolapsvc.3/esestt.myhome.cheney myhome\administrator
setspn.exe -a msolapsvc.3/esestt myhome\administrator
这里的esestt是我的运行ssas机器名称,myhome.cheney是域名,myhome\administrator是sql server运行帐户。
完成上面两条语句后可以检测一下是否成功
4 继续执行下面两条命令:
setspn -a http/esestt.myhome.cheney myhome\administrator
setspn -a http/esestt myhome\administrator
这里的esestt是我的运行moss网站集机器名称,因为我的ssas和moss在同一机器上,所以名称相同,myhome.cheney是域名,myhome\administrator发布报表网站集的应用程序池帐户。
5 在ad用户的管理窗口,为moss和ssas帐户启用委托,我这里的帐户都是administrator,所以只为administrator启用委托即可。
step 7
完成上一步的认证设置后,回到excel中的数据连接属性。在验证设置中,选择一种之前设置的验证方式。
然后将odc文件导出到受信任的数据连接库中。
在数据连接库中,批准刚才在excel中导出的odc文件。
step 8
在excel中设计报表。
step 9
设计好报表后,将excel文档发布到excel services
可以选择发布哪些内容。
发布excel报表后就可以使用web形式察看报表了,但web形式的图形跟在excel中看到的还是有些差别的。