Sql Server Report Service 的部署问题(Reporting Service 2014為什麼不需要IIS就可以運行)
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就可以運行)的更多相关文章
- SQL Server性能计数器收集汇总方案(Reporting Service)
通过收集计数器信息,并将计数器信息汇总为不同粒度存储,以Reporting Service报表服务器显示.以下是计数器收集汇总的基本架构. 笔者需要收集的SQL Server计数器包括:SQL Ser ...
- SSRS (SQL Server Report Service) 在IE9, IE10下显示不全的解决办法
原文:SSRS (SQL Server Report Service) 在IE9, IE10下显示不全的解决办法 在做项目的过程中遇到SSRS与IE9, IE10不兼容的情况,具体表现为报表页面在IE ...
- Java服务器端生成报告文档:使用SQL Server Report Service(SSRS)
SQL Server Report Service(SSRS)提供了Asp.Net和WinForm两类客户端组件封装,因此使用C#实现SSRS报表的导出功能,仅需要使用相应的组件即可. Java操作S ...
- SQL Server Report Server
1.SQL Server Report Server是利用mircosoft的share point产品 在menu 打开Reporting Services Configuration进行配置,会自 ...
- SQL Server 2008 数据库镜像部署实例之三 配置见证服务器
SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...
- SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移
SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移 上一篇文章已经为配置镜像数据库做好了准备,接下来就要进入真正的配置阶段 一.在镜像数据库服务器上设置安全性并启动数据 ...
- SQL Server 2008 数据库镜像部署实例之一 数据库准备
SQL Server 2008 数据库镜像部署实例之一 数据库准备 一.目标 利用Sql Server 2008 enterprise X64,建立异步(高性能)镜像数据库,同时建立见证服务器实现自动 ...
- SQL Server Compact免安装部署
原文:SQL Server Compact免安装部署 情况 应用程序中的EF使用了SQL Server Compact,打包部署到客户机器上后提示数据库连接异常,信息类似”配置节“.”Provider ...
- Entity Framework6使用SQL Server Compact免安装部署
原文:Entity Framework6使用SQL Server Compact免安装部署 使用Nuget安装以下包: EntityFramework.6.0.2 EntityFramework.Sq ...
随机推荐
- pycharm远程服务器进行调试
背景是这样的:我有一台远程的服务器,以及一台本地的电脑:现在我想用远程的服务器上的python编译器来运行代码,怎么办?通用的做法是ssh服务器,vim代码,之后python运行文件,但是如果遇到调试 ...
- SSH升级到7.7
#!/bin/bash#删除旧版ssh包 危险操作,不删除也可以安装,建议跳过此操作.#rpm -e `rpm -qa | grep openssh` #安装zlib依赖包wget -c http:/ ...
- Cocos2dx 中的点击事件
简单记录一下2dx的鼠标交互事件.以及精灵绑定盒的点击判定 Layer 子类的 init方法中: auto listener = EventListenerTouchOneByOne::cre ...
- 软件工程 week 01
一.安装与使用Git First项目地址: https://git.coding.net/kefei101/First.git 二.针对以下三个问题,作为大三新生,谈谈我的感想 问题1:你为什么选择计 ...
- acm 2044
////////////////////////////////////////////////////////////////////////////////#include<iostream ...
- Python学习手册
基础 概念 源码编译为字节码,解释器解释字节码 CPython是python标准实现方式,Jython将源码编译为java字节码,运行在JVM上 优点:快速开发,灵活的核心数据类型,优美的缩进语法,垃 ...
- jdreact转换为H5注意事项
1:先执行npm install 然后执行 npm run web-init 配置完后 在执行 npm run web-start(注意的是不要根据文档执行 yarn add -D @jdreact ...
- HotSpot VM GC 的种类
collector种类 GC在 HotSpot VM 5.0里有四种: incremental (sometimes called train) low pause collector已被废弃,不在介 ...
- python 基础的用法新发现
引用的发现: # 引用的处理 因为变量指的是某一内存地址 引用变量实际是引用一个固定的内存地址,# 当这个变量中的内容变了之后,他的内存地址不变, 所以引用者也动态的得到了变化的变量l1=[1,2,3 ...
- Unity3D用户手册 学习