部署报表和 ReportViewer 控件

您可以将报表和 ReportViewer 控件作为应用程序的一部分自由发布。根据控件类型以及报表是配置为本地处理还是远程处理,部署要求会有很大不同。在同一个应用程序中,既可以部署本地处理的报表,也可以部署远程处理的报表。

重新发布 ReportViewer 控件

可重新发布的 ReportViewer 控件是一个名为 ReportViewer.exe 的自解压缩文件,其中包括一个 .msi 文件以及其他文件。 可以在以下位置找到 ReportViewer.exe:C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ReportViewer\ReportViewer.exe。

运行 ReportViewer.exe 时,会将下列文件复制到部署计算机上的 Global Assembly Cache 文件夹中。

 
文件 说明

Microsoft.ReportViewer.Common

提供 ReportViewer Windows 窗体控件和 Web 服务器控件通用的核心报告功能。

Microsoft.ReportViewer.ProcessingObjectModel

公开报表对象模型,以便可以通过编程方式在运行时从报表定义中的表达式对其进行访问。

Microsoft.ReportViewer.WebForms

提供适用于 ASP.NET 页的 ReportViewer 控件。

Microsoft.ReportViewer.WinForms

提供适用于 Windows 应用程序的 ReportViewer 控件。

运行 ReportViewer.exe

您所使用控件的类型决定运行 ReportViewer.exe 的位置。

  • 对于 ASP.NET 应用程序,应在承载应用程序的 Web 服务器上运行 ReportViewer.exe。

  • 对于 Windows 窗体应用程序,应将控件添加为应用程序的必备项,以使它们自动随应用程序一起安装。您可以使用引导应用程序自动完成此步骤:

    1. 打开项目属性页。

    2. 单击“发布”,再单击“必备组件”

    3. 选择“Microsoft Visual Studio 2008 报表查看器”,然后单击“确定”

    4. 发布应用程序。

在安装应用程序时,会在本地计算机上进行检查,以确定是否已安装 ReportViewer。如果尚未安装,安装程序将安装它。

部署 ReportViewer 控件的本地化版本

ReportViewer 控件包括八种语言的语言包:简体中文、繁体中文、法语、德语、意大利语、日语、朝鲜语和西班牙语。若要使用该控件的本地化版本,必须执行下列操作:

  1. 运行 ReportViewer.exe。

  2. 定位到包含要使用的语言包的文件夹。语言包文件夹位于 <驱动器>:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ReportViewer\<语言> 下。

  3. 运行 ReportViewerLP.exe。

若要在 ReportViewer 控件中使用其他语言,可以实现 Microsoft.Reporting.WebForms.IReportViewerMessages 或 Microsoft.Reporting.WinForms.IReportViewerMessages 接口,以便用特定的语言创建工具提示及其他用户界面文本。

确定浏览器语言和区域性设置

当使用 ReportViewer Web 服务器控件在浏览器应用程序中承载报表时,如果要提供与浏览器语言和区域性设置匹配的用户界面,应务必对线程区域性进行设置。 ASP.NET 并不会基于客户端提供的标头信息来设置线程区域性。若要让应用程序与浏览器的区域性设置匹配,可以在应用程序代码中设置 System.Threading.Thread.CurrentCulture 和 System.Threading.Thread.CurrentUICulture。有关如何处理应用程序的区域性设置的更多信息,请参见 System.Globalization.CultureInfo。

部署报表查看器 Web 服务器控件的注意事项

在 Web 场中部署 ASP.NET 应用程序需要进行其他配置,以确保在整个场中维护视图状态。如果是在 Web 场环境中部署 ReportViewer Web 服务器控件,则应在应用程序的 Web.config 文件中指定 machineKey 元素。有关更多信息,请参见 ReportViewer 的 Web.config 设置。

在 ReportViewer Web 服务器控件中处理的报表对浏览器的要求不尽相同。浏览器兼容性问题会影响某些种类的报表功能的可用性。有关更多信息,请参见ReportViewer Web 服务器控件的浏览器支持。

分发报表

除非在运行时动态生成客户端报表定义 (.rdlc) 文件,否则本地处理的报表将以 .rdlc 文件存储在文件系统上,并且必须与应用程序一起提供。这些文件可以安装在磁盘驱动器上,或者编译到应用程序可执行文件中。

在远程服务器上处理的报表将存储在 Microsoft SQL Server 2005 Reporting Services 报表服务器上。应用程序中不包含任何报表文件,因为报表是远程处理的,并且本地系统中不存在报表。若要部署在报表服务器上发布的报表,必须提供对报表服务器进行访问的权限,并确保应用程序用户有权查看该服务器上的报表。部署服务器报表需要了解报表服务器所使用的身份验证扩展插件,以及提供内容访问权限和操作权限的、基于角色的身份验证模式。有关详细信息,请参见服务器报表的部署注意事项。

部署报表和 ReportViewer 控件 rdlc的更多相关文章

  1. C# - VS2019 WinFrm应用程序开发报表 - ReportViewer控件初涉

    前言 简单报表我们可以通过label.textBox和PrintDialog来实现,但是一般在实际生产过程中,用户的报表需求一般都是比较复杂的. 本篇主要记录对于传统中国式复杂报表的处理方法和解决思路 ...

  2. VS2017中使用ReportViewer控件,vs2017找不到Microsoft Rdlc Report Designer for Visual Studio

    VS2017中没有ReportViewer控件,这个控件用来实现在项目中显示和打印关系数据库中的表比较容易,特别是想要打印的时候,这个比用DataGridView和PrintDocument要简单一些 ...

  3. 动态绑定ReportViewer控件之经验总结

    以上两篇文章已经很丰富了,但是照做一遍不行,检查了N遍还是不行,就是找不出问题原因,总是提示“尚未为数据源“DataSet1_DataTable1”提供数据源实例.”这主要是说在为ReportView ...

  4. Microsoft ReportViewer 控件类型版本兼容问题及解决方法

    错误 Parser Error Message: The base class includes the field 'rvEquipment', but its type (Microsoft.Re ...

  5. C#VS2017添加ReportViewer控件

    安装完vs2017之后我们进行添加Report Viewer控件: 1. 点击Tools -> Extensions and Updates... 2. 在新窗口搜索栏中输入rdlc后搜索,结果 ...

  6. 转:ReportViewer控件使用方法

    a. ReportViewer关联Report1.rdlc的简单呈现b. 对带有报表参数的Report1.rdlc的呈现c. 利用程式生成的DataSet 填充报表d. 调用存储过程 生成DataSe ...

  7. 找不到reportviewer控件在哪儿

    請自行加入ReportViewer(9.0)到工具箱之中. 如下圖,

  8. 求助!使用 ReportViewer 控件集成 Reporting Services2008 时,报"...401 unauthorized"错误!

    实现接口 public class ReportServiceCredetials : Microsoft.Reporting.WebForms.IReportServerCredentials { ...

  9. ASP.NETserver控件使用之Reportviewer 报表

    1.       Reportviewer 报表 1.1.       Reportviewer控件 注:本教程附2个事例: l  演练:在本地处理模式下将数据库数据源与 ReportViewer W ...

随机推荐

  1. javascript设计模式-观察者模式

    观察者模式定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己. UML示意图: 其中的角色: Subject:主 ...

  2. JavaWeb工作原理

    一.HTTP协议的理解 什么是HTTP协议 HTTP是一种超本文传输协议,是一套计算机在网络中通信的规则.他是一种无状态的传输方式. HTTP协议的格式 HTTP的请求: 请求行(HTTP方法.请求的 ...

  3. A new start!

    从今天起,开始每天晚上拿出来半个小时到一个小时的时间来总结今天我做的那些事情,有哪些进步,有哪些不足,有哪些心得和笔记. 以前的学习都是每天学完就往脑袋后面一放,导致很多东西当时学会了,但是后面就都想 ...

  4. node.js 快速体验

    对于一个从事js的工作人员,怎么能不知道node.js呢! 一.安装node.js 在window上安装,http://nodejs.org上的windows installer 下载安装,在安装过程 ...

  5. ◆ 火狐浏览器去除JS方法:

    ◆ 火狐浏览器去除JS方法: 在火狐地址栏输入about:config   回车 在搜索地址栏中输入javascript.enabled 右键 当一行的中的,值由false变成trun,就OK了 . 

  6. leetcode 38

    38. Count and Say The count-and-say sequence is the sequence of integers beginning as follows:1, 11, ...

  7. su:认证失败

    使用命令[su - root]切换用户,提示[su:认证失败] 原因:Ubuntu安装之后,root用户默认是被锁定的,不允许登录,也不允许su到root. 解决:重新设置密码 在终端输入命令:sud ...

  8. [转]CentOS开机启动脚本

    转载自http://www.2cto.com/os/201306/220559.html   我的一个Centos开机自启动脚本的制作   一.切换到/etc/init.d/   二.制作sh脚本 v ...

  9. 【SMS】移动短信网关返回信息状态代码说明【China Mobile】

    1 由SMSC返回的一般结果状态报告 含义 说明 处理建议DELIVRD 消息发送成功 用户成功接收到短信 ??EXPIRED 因为用户长时间关机或者不在服务区等导致的短消息超时没有递交到用户手机上 ...

  10. 导出数据库数据制成Excel和txt

    引用ICSharpCode.SharpZipLib.dll 1.编写压缩和解压代码 using System; using System.Collections.Generic; using Syst ...