zoukankan      html  css  js  c++  java
  • [转载] 启用和禁用 Reporting Services 的客户端打印和导出文件格式

    启用和禁用 Reporting Services 的导出文件格式
    您可以修改rsreportserver.config,对于SQL Server 2005,它位于C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer,对于SQL Server 2008,它位于C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer。
    如果您想禁止用户导出到excel, image and pdf格式,您可以将其从以下的section <Render>中移除:
    <Extension Name="CSV"
    Type="Microsoft.ReportingServices.Rendering.CsvRenderer.CsvReport,Microsoft.Reportin
    gServices.CsvRendering"/>
    <Extension Name="IMAGE"
    Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageReport,Microsoft.Repo
    rtingServices.ImageRendering"/>
    <Extension Name="PDF"
    Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PdfReport,Microsoft.Report
    ingServices.ImageRendering"/>
    <Extension Name="RGDI"
    Type="Microsoft.ReportingServices.Rendering.ImageRenderer.RemoteGdiReport,Microsoft.
    ReportingServices.ImageRendering" Visible="false"
    LogAllExecutionRequests="false"/>
    <Extension Name="EXCEL"
    Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.Re
    portingServices.ExcelRendering"/>

    您也可以通过增加
    因为这些设置都是服务器端的设置,因此它会影响该服务器上的所有用户。如果您想要部分用户拥有权限来导出的话,您需要使用scale-out deployment如下:
    1. 设置RS1供用户群A访问,RS2供用户群B访问
    2. RS1和RS2都连接到相同的reportserver数据库
    3. 在RS1上,修改rsreportserver.config;在RS2上,保持原有设置

    关于更多scale-out deployment,您可以参考:
    Configuring a Report Server Scale-Out Deployment
    <http://msdn.microsoft.com/en-us/library/ms156453.aspx>
    启用和禁用 Reporting Services 的客户端打印

    Microsoft ActiveX 控件 RSClientPrint 为在浏览器中查看的报表提供了客户端打印功能。该控件显示一个自定义打印对话框,它支持其他打印对话框常见的功能,包括打印预览、指定特定页和范围的页面选择、页边距和打印方向等功能。虽然默认情况下将启用客户端打印功能,但是您也可以将其禁用,以禁止使用该功能。

    下载 ActiveX 控件需要管理员权限。

    对于希望使用打印功能的每个用户来说,都必须下载并安装提供客户端打印功能的 ActiveX 控件。根据浏览器设置的不同,系统可能会提示用户安装控件,阻止用户安装控件,或者在后台透明地安装控件。

    对于 Microsoft Internet Explorer,可以通过 Web 内容区域的“安全设置”页中的“ActiveX 控件和插件”节点来指定影响 ActiveX 控件下载和安装的设置。以下设置基于 Web 区域安全首选项,确定用户是否可以下载和运行打印控件:

    • 下载已签名的 ActiveX 控件。
    • 对标记为可安全执行脚本的 ActiveX 控件执行脚本。
    • 运行 ActiveX 控件和插件。

    希望使用 RSClientPrint 进行客户端打印的用户,必须启用“下载已签名的 ActiveX 控件”和“对标记为可安全执行脚本的 ActiveX 控件执行脚本”以允许安装,并且对于正在进行的打印操作,必须启用“运行 ActiveX 控件和插件”。RSClientPrint ActiveX 控件是已签名的,也就是说它包含 Microsoft 颁发的有效数字证书。

    报表服务器管理员可以通过将报表服务器系统属性 EnableClientPrinting 设置为 false,以禁用打印功能。这将对该服务器管理的所有报表禁用客户端打印功能。默认情况下,EnableClientPrinting 设置为 true。您可以通过下列方式禁用客户端打印功能:

    • 在 Management Studio 中的“服务器属性”页上,选中“允许下载 ActiveX 客户端打印控件”。若要打开“服务器属性”页,请连接到 Management Studio 中的报表服务器实例,右键单击报表服务器节点,然后选择“属性”
    • 编写脚本或代码,将报表服务器系统属性 EnableClientPrinting 设置为 false.

    下面的示例脚本说明了一种禁用客户端打印功能的方法。编译并运行以下 Microsoft Visual Basic 代码,以将 EnableClientPrinting 属性设置为 False。在运行代码后,请重新启动 IIS。

    示例脚本

    Imports System
    Imports System.Web.Services.Protocols
    Class Sample
       Public Shared Sub Main()
    Dim rs As New ReportingService()
          rs.Credentials = System.Net.CredentialCache.DefaultCredentials
            Dim props(0) As [Property]
            Dim setProp As New [Property]
            setProp.Name = "EnableClientPrinting"
            setProp.Value = “False” 
            props(0) = setProp
            Try
                rs.SetSystemProperties(props)
            Catch ex As System.Web.Services.Protocols.SoapException
                Console.Write(ex.Detail.InnerXml)
            Catch e as Exception
                Console.Write(e.Message)
            End Try
        End Sub 'Main
    End Class 'Sample
  • 相关阅读:
    MFC之界面提示(CToolTipCtrl类)
    Windows的三种坐标系:屏幕坐标系,非客户区坐标系,客户区坐标系
    【数据库】insert语句
    【js】v-for 的一些用法 :class {{index}}
    jQuery查找选中的checkbox个数
    limit offset
    http状态码
    Whitelabel Error Page
    【Mybatis】Mybatis generator的使用
    【CSS】Bootstrap 图标
  • 原文地址:https://www.cnblogs.com/chriskwok/p/1385293.html
Copyright © 2011-2022 走看看