本文转自:https://www.cnblogs.com/syfblog/p/4651621.html

近期在研究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差不多,可以采用默认的。这里要注意到的是,由于我们之前采用的是匿名访问的方式,所以需要指定一个执行账户,这个千万不能落了,不然会出问题的,在制定执行账户中,必须是你的系统数据库有对应的账户的,不能凭空弄一个名字,这就要求你在数据库安全性中设置对应的账户名,并给其配置一定的角色权限。

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

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

[转]Sql Server Report Service 的部署问题的更多相关文章

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

    http://www.cnblogs.com/syfblog/p/4651621.html Sql Server Report Service 的部署问题 近期在研究SSRS部署问题,因为以前也用到过 ...

  2. Sql Server Report Service 的部署问题

    近期在研究SSRS部署问题,因为以前也用到过SSRS报表,但当时开发的报表是有专门的集成系统的,不需要我自己去部署,所以对这一块的部署也不熟悉,我记得当时我是直接开发出一个SSRS 报表,然后会通过自 ...

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

    原文:SSRS (SQL Server Report Service) 在IE9, IE10下显示不全的解决办法 在做项目的过程中遇到SSRS与IE9, IE10不兼容的情况,具体表现为报表页面在IE ...

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

    SQL Server Report Service(SSRS)提供了Asp.Net和WinForm两类客户端组件封装,因此使用C#实现SSRS报表的导出功能,仅需要使用相应的组件即可. Java操作S ...

  5. Sql Server Report Service访问服务页面503解决方法

    这个问题可能性比较多,也有多个方案去解决,可以从如下方法里逐个测试 1.打最新的数据库补丁. 2.删除报表服务配置的密钥,重启报表服务. 3.修改报表服务器配置的用户账户为域管理员 4.找到报表服务器 ...

  6. SQL Server Reporting Service(SSRS) 第二篇 SSRS数据分组Parent Group

    SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子默认使用Table进行简单的数据显示,有时为了进行更加直观的数据显示,我们需要按照某个字段对列表进行 ...

  7. SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子

    很早就知道SQL SERVER自带的报表工具SSRS,但一直没有用过,最近终于需要在工作中一展身手了,于是我特地按照自己的理解做了以下总结: 1. 安装软件结构 SSRS全称SQL Server Re ...

  8. 基于SQL Server 2008 Service Broker构建企业级消息系统

    注:这篇文章是为InfoQ 中文站而写,文章的地址是:http://www.infoq.com/cn/articles/enterprisemessage-sqlserver-servicebroke ...

  9. SQL Server Report Server

    1.SQL Server Report Server是利用mircosoft的share point产品 在menu 打开Reporting Services Configuration进行配置,会自 ...

随机推荐

  1. 利用backtrace和backtrace_symbols函数打印调用栈信息

    在头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈. #include <execinfo.h>  int backtrace(void * ...

  2. Angular6 学习笔记——组件详解之组件通讯

    angular6.x系列的学习笔记记录,仍在不断完善中,学习地址: https://www.angular.cn/guide/template-syntax http://www.ngfans.net ...

  3. ASP.NET Core使用EF Core操作MySql数据库

    ASP.NET Core操作MySql数据库, 这样整套环境都可以布署在Linux上 使用微软的 Microsoft.EntityFrameworkCore(2.1.4) 和MySql出的 MySql ...

  4. Zookeeper数据存储总结

    Zookeeper快照文件和事物操作文件以文件的形式存储在硬盘上,以快照文件为主,日志文件为辅.因为当对内存数据进行变更的时候,会保证将事务操作记入log日志,而snapshot只是内存某一个时刻影像 ...

  5. python实战——网络爬虫之request

    Urllib库是python中的一个功能强大的,用于操做URL,并在做爬虫的时候经常要用到的库,在python2中,分为Urllib和Urllib2两个库,在python3之后就将两个库合并到Urll ...

  6. jvm特性(3)( 收集算法和收集器的概念)

    java内存模型和线程规范 JVM高级特性与实践(三):垃圾收集算法 与 垃圾收集器实现 大致知识点如下: 4种垃圾收集算法概念的学习 7种垃圾收集器特征的学习 一. 垃圾收集算法 1. 标记-清除算 ...

  7. iOS-WKWebview 带有进度条加载的ViewController【KVO监听Webview加载进度】

    前言 为什么要说 WKWebview,在之前做电子书笔记时已经提过 WKWebview 在iOS8之后已完全替代 Webview,原因就不多说了,主要还是内存过大: 封装 封装一个基于 UIViewC ...

  8. git连接通过ssh连接github

    解决 git连接通过ssh连接github 1. 首先产生一个rsa的私钥和公钥 ssh-keygen -t rsa -C "15950093214@163.com"  //你的g ...

  9. java基本语法一

    1 关键字和保留字 1.1 关键字 关键字的定义:被java语言赋予了特殊含义,用做专门用途的字符串(单词). 关键字的特点:关键字中的所有字母都是小写. 1.2 保留字 java保留字:现有Java ...

  10. (转)Oracle 12c Windows安装、介绍及简单使用(图文)

    版权声明:http://blog.csdn.net/anxpp https://blog.csdn.net/anxpp/article/details/51345074 转载请注明出处:http:// ...