http://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 的部署问题(Reporting Service 2014為什麼不需要IIS就可以運行)的更多相关文章

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

    通过收集计数器信息,并将计数器信息汇总为不同粒度存储,以Reporting Service报表服务器显示.以下是计数器收集汇总的基本架构. 笔者需要收集的SQL Server计数器包括:SQL Ser ...

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

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

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

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

  4. SQL Server Report Server

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

  5. SQL Server 2008 数据库镜像部署实例之三 配置见证服务器

    SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...

  6. SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移

    SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移 上一篇文章已经为配置镜像数据库做好了准备,接下来就要进入真正的配置阶段 一.在镜像数据库服务器上设置安全性并启动数据 ...

  7. SQL Server 2008 数据库镜像部署实例之一 数据库准备

    SQL Server 2008 数据库镜像部署实例之一 数据库准备 一.目标 利用Sql Server 2008 enterprise X64,建立异步(高性能)镜像数据库,同时建立见证服务器实现自动 ...

  8. SQL Server Compact免安装部署

    原文:SQL Server Compact免安装部署 情况 应用程序中的EF使用了SQL Server Compact,打包部署到客户机器上后提示数据库连接异常,信息类似”配置节“.”Provider ...

  9. Entity Framework6使用SQL Server Compact免安装部署

    原文:Entity Framework6使用SQL Server Compact免安装部署 使用Nuget安装以下包: EntityFramework.6.0.2 EntityFramework.Sq ...

随机推荐

  1. 实现在当前的日期上加N天

    function getNewDay(dateTemp, days) { var dateTemp = dateTemp.split("-"); var nDate = new D ...

  2. [转]一文读懂《梁宁·产品思维30讲》最精华内容(含全套PPT)

    http://chuansong.me/n/2294260949029 8 年前,我的主业是产品经理,产品思维改变了我认识世界的方式,让我明白司空见惯的设计,也有其底层逻辑. 几年后我接触培训.运营自 ...

  3. [LeetCode&Python] Problem 606. Construct String from Binary Tree

    You need to construct a string consists of parenthesis and integers from a binary tree with the preo ...

  4. HDACM2021(发工资)

    发工资咯:) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  5. cenos7.0 安装docker

    使用yum命令在线安装  yum install docker 安装后查看Docker版本 docker -v启动docker:systemctl start docker停止docker:syste ...

  6. [codeforces Mail.Ru Cup 2018 Round 3][B Divide Candies ][思维+数学]

    https://codeforces.com/contest/1056/problem/B 题意:输入n,m    求((a*a)+(b*b))%m==0的(a,b)种数(1<=a,b<= ...

  7. SpringMVC(二)高级

    高级参数绑定 1.1. 绑定数组 1.1.1. 需求 在商品列表页面选中多个商品,然后删除. 1.1.2. 需求分析 功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按 ...

  8. buckaroo 去中心化的c++包管理工具

    buckaroo 是一款去中心化的c++ 包管理工具,使用上,类似yarn(nodejs),cargo (rust) ,使用buckaroo 我们可以很容易集成一个大规模的项目 支持以下特性 直接从G ...

  9. 使用uflare/smtp2http 将smtp 转转化为http 请求

    uflare/smtp2http 是一个很不错的工具,我们使用这个工具,可以快速的将smtp 服务转换为http 服务 用途实际上挺多的 devops 系统 需要使用smtp的系统(测试) 基于smt ...

  10. YII2常用知识点总结

    YII2常用知识点总结 (一)总结性语句 (1)经常看看yii源码比如vendor\yiisoft\yii2\web这个目录(很重要)下的文件中的方法(这些文件中的公共方法,大致看了下基本上都可以通过 ...