Sql Server Report Service 的部署问题(Reporting Service 2014為什麼不需要IIS就可以運行)

http://www.cnblogs.com/syfblog/p/4651621.html

Sql Server Report Service 的部署问题

近期在研究SSRS部署问题,因为以前也用到过SSRS报表,但当时开发的报表是有专 门的集成系统的,不需要我自己去部署,所以对这一块的部署也不熟悉,我记得当时我是直接开发出一个SSRS 报表,然后会通过自动上传的方式上传到微软Dynamic CRM系统中,它带有自带的集成部署。而现如今,看来又得重新回去恶补一下部署的信息了。经过无数的错误的再错误的尝试,最终还是过五关斩六将通过了测试 了,不容易啊~~。下面我就在部署中遇到的问题统计一下,以供日后大虾们遇到同样的问题的时候可以解决。

先来说说环境的问题吧,我使用的是Win8的系统,然后数据库环境为SQL Service 2008 R2版本的,我们在安装这个版本的数据库的时候切记,在选择数据库登录验证方式的时候,莫要选择默认的Windows身份验证的方式,可以选择混合的身份 验证方式,这个我在后面会提到。接下来说的就是这个数据库版本的问题了,从SQL 2008版本开始,它跟以前的部署方式就不太一样了,不需要部署在IIs上,而是要通过匿名方式进行报表的访问。怎么设置匿名方式访问呢,问题来了,默认 的系统中的文件配置都是Windows的,所以这就要求我们去更改系统中的一些配置文件以修改匿名访问权限:

首先找到对应的存放要修改文件的位置:(请找到你在安装的时候设置的默认实例的地址)

1.         C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer下的web.config、rsreportserver.config、 rssrvpolicy.config

2.         C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportManager下的web.config

配置过程:

1.         找到两个Web.config文件中的如下代码:

<authentication mode="Windows" />

<identity impersonate="true" />

替换成:

<authentication mode="None" />

<identity impersonate="false"/>

2.         找到rsreportserver.config文件中的如下代码:

<Authentication>

<AuthenticationTypes>

<RSWindowsNegotiate/>

<RSWindowsNTLM/>

</AuthenticationTypes>

<EnableAuthPersistence>true</EnableAuthPersistence>

</Authentication>

替换成:

<Authentication>

<AuthenticationTypes>

<Custom/>

</AuthenticationTypes>

<EnableAuthPersistence>true</EnableAuthPersistence>

</Authentication>

3.   把文件Microsoft.Samples.ReportingServices.AnonymousSecurity.dll放到C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin目录下(注意:目录视具体安装情况而定)

4.         找到rsreportserver.config文件中的如下代码:

<Security>

<Extension Name="Windows" Type="Microsoft.ReportingServices.Authorization.WindowsAuthorization, Microsoft.ReportingServices.Authorization"/>

</Security>

<Authentication>

<Extension Name="Windows" Type="Microsoft.ReportingServices.Authentication.WindowsAuthentication, Microsoft.ReportingServices.Authorization"/>

</Authentication>

替换成:

<Security>

<Extension Name="None" Type="Microsoft.Samples.ReportingServices.AnonymousSecurity.Authorization, Microsoft.Samples.ReportingServices.AnonymousSecurity" />

</Security>

<Authentication>

<Extension Name="None" Type="Microsoft.Samples.ReportingServices.AnonymousSecurity.AuthenticationExtension, Microsoft.Samples.ReportingServices.AnonymousSecurity" />

</Authentication>

5.         找到文件rssrvpolicy.config中的如下代码:

</NamedPermissionSets>

<CodeGroup

class="FirstMatchCodeGroup"

version="1"

PermissionSetName="Nothing">

<IMembershipCondition

class="AllMembershipCondition"

version="1"

/>

在后面添上如下代码(注意Url地址可能不同):

<CodeGroup class="UnionCodeGroup"  version="1"                                                               PermissionSetName="FullTrust"  Name="Private_assembly" Description="This code group grants custom code full trust.">                            <IMembershipCondition class="UrlMembershipCondition"       version="1"  Url="C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER2008\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.AnonymousSecurity.dll" />

</CodeGroup>

6.         重启Reporting Service服务。

上面就是对匿名访问权限的设置了。

接下来就要谈一下在报表文件中的一些设置的问题:

我 们在建立数据源的时候需要一个凭据,可是在前面我们已经把默认的权限访问方式设为匿名访问了,是不能再使用Windows集成访问的,我也试了不需要凭据 的方式,还是会报错,那就只能选择使用用户名和密码的方式访问了,这就是为什么在前面我提到的,在安装数据库的时候最好使用混合模式了,我们在这需要用到 安装的时候设置好的访问数据库的用户名和密码来进行数据库的访问

否则的话会报错,

接下来就是报表系统属性的设置了,我就不一一列举了,直接发个图吧:

注意一下各属性的值的设置,估计问题也不大。

在做完报表之后,我们就应该把它部署发布到对应的报表服务器上去,也就是到了配置报表的时候了,先上图:

默 认的服务账户的一半是内置账户,我选的是LocalSystem,这个问题不大,对应的Web 服务URL的设置就是报表文件中的TargetURL,请确保一致的,在这里我们可以采用系统自己默认的,不需要做啥更改,当然你也可以自己坐一下修改, 比如改改端口啥的,接下来就是报表管理器的URL的设置,跟Web服务URL差不多,可以采用默认的。这里要注意到的是,由于我们之前采用的是匿名访问的 方式,所以需要指定一个执行账户,这个千万不能落了,不然会出问题的,在制定执行账户中,必须是你的系统数据库有对应的账户的,不能凭空弄一个名字,这就 要求你在数据库安全性中设置对应的账户名,并给其配置一定的角色权限。

做到这里,整个流程就差不多了,我们就可以查看报表结果了:

呜呼,整个流程就这样走通了~~中途中可能出现什么程序集未能找到的问题,归根结底还是用户和权限未设置好的问题,所以不要老想着去下载什么程序集弄进去,先把账户和权限设置好了才是正道~~~

时间: 2024-12-26 07:50:34

Sql Server Report Service 的部署问题(Reporting Service 2014為什麼不需要IIS就可以運行)的相关文章

SQL Server性能计数器收集汇总方案(Reporting Service)

通过收集计数器信息,并将计数器信息汇总为不同粒度存储,以Reporting Service报表服务器显示.以下是计数器收集汇总的基本架构. 笔者需要收集的SQL Server计数器包括:SQL Server计数器属性详解 一.SQL Server计数器基本架构图 1. 生产服务器通过ODBC开发数据库互联ODBC配置访问监控监控服务器的SQLPerfData,将数据写入该数据库.详情请见计数器部署 SQL Server性能计数器部署(批量) 2. 通过作业调用存储过程spb_Perf_Count

SSRS (SQL Server Report Service) 在IE9, IE10下显示不全的解决办法

在做项目的过程中遇到SSRS与IE9, IE10不兼容的情况,具体表现为报表页面在IE9 和 IE10下面只显示三分之一,靠左显示,下方有滚动条,右三分之二为空白.查看源代码后发现,上面一个<tr>里只有一个<td>,并colspan=3, 下面报表内容区域的<tr>有三个<td>但前两个是hidden的.最初是想把表格结构调整下,去掉前面hidden的两个<td>,后来发现太麻烦不说,还改变了微软原来的表单内容.就在网上搜索解决方案,微软自己说

Java服务器端生成报告文档:使用SQL Server Report Service(SSRS)

SQL Server Report Service(SSRS)提供了Asp.Net和WinForm两类客户端组件封装,因此使用C#实现SSRS报表的导出功能,仅需要使用相应的组件即可. Java操作SSRS,需要借助于SSRS的Report Server应用站点,该应用为SSRS的报表Web查看页面,通过发送Get请求获取要访问的报表并传递报表参数,此外可指明输出报表文件格式. SSRS关键参数: rs:Format,指明输出文件格式,PDF.EXCEL.WORD等: 注意事项:中文报表路径和中

SQL Server 2008 标准版不支持Reporting Services的数据驱动订阅

今天开发同事找我,说为什么Reporting Services服务器的报表管理的订阅选项里面只有"新建订阅"选项, 没有"数据驱动订阅"选项,说实话,我也基本上没有用过这项功能,于是去官方文档查看关于"数据驱动订阅"的一些知识. 搞了半天,原来SQL Server 2008只有Evaluation.Developer.Enterprise三个版本支持这个功能,标准版本以及具有高级服务的 SQL Server Express 不支持数据驱动订阅.而

Sql Server Report 导出到EXCEL 指定行高

在SQL SERVER REPORT 2005做报表的时候,发现在report中指定的行高没有用.google了一下,找到了解决方法. Make both CanGrow and CanShrink are False for all of the cells in the row.  This is because Excel itself doesn't really have a concept of CanGrow and CanShrink - rather, all it can d

SQL Server 2008 R2中,变表的右键弹出菜单中的“选择前1000行”为“选择所有行”

原文:SQL Server 2008 R2中,变表的右键弹出菜单中的"选择前1000行"为"选择所有行" 从SQL Server 2008开始,微软为了提高查询效率等原因,右键点击表时弹出菜单中默认没有"显示所有行",而以"选择前1000行"替代.这有时会为我们带来一些不便. 更改方法是:打开SQL Server Management Studio,依次点击"工具"菜单."选项",展开左

Sql Server Report Service 的部署问题

近期在研究SSRS部署问题,因为以前也用到过SSRS报表,但当时开发的报表是有专门的集成系统的,不需要我自己去部署,所以对这一块的部署也不熟悉,我记得当时我是直接开发出一个SSRS 报表,然后会通过自动上传的方式上传到微软Dynamic CRM系统中,它带有自带的集成部署.而现如今,看来又得重新回去恶补一下部署的信息了.经过无数的错误的再错误的尝试,最终还是过五关斩六将通过了测试了,不容易啊~~.下面我就在部署中遇到的问题统计一下,以供日后大虾们遇到同样的问题的时候可以解决. 先来说说环境的问题

SQL Server 2008 R2 安装时提示“Reporting Services目录数据库文件存在”

打开MSSQL数据库管理系统的安装目录,例如: X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA. 其中 X:\是你安装MS SQL数据库管理系统实例所在的盘符. 删除 X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 里面 ReportServer.mdf.ReportServer_log.LDF.ReportServe

SQL Server数据库原理及部署

一.使用数据库的必要性 使用数据库可以高效且条理分明地存储数据,使工作人员能够更加迅速.方便地管理数据.数据库具有以下特点: 可以结构化的存储大量的数据信息,方便用户进行有效的检索和访问: 可以有效地保持数据信息的一致性.完整性.降低数据冗余: 可以满足应用的共享和安全方面的要求: 常见的数据库有:SQL Server.MySQL.Oracle等,SQL Server是运行在Windows操作环境中,拥有相对比较友好的图形化界面. 二.数据库的基本概念 1.数据 描述事物的符号记录称为数据,数据