部署报表和 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. uitextview 最后一行遮挡

    这只 uiscrollerview 的 setContentOffset CGRect line = [textView caretRectForPosition: textView.selected ...

  2. 使用CORS:跨域两三事

    本文为译文. 简介 APIS是可以将富网页应用串连在一起的线程.但是这个应用难以转给浏览器,跨域请求技术的选择被限制了,类似JSONP(由于安全考虑,使用会被限制),或者配置代理(设置和维护都比较头痛 ...

  3. dell 交换机 双链路冗余

    公司海外机房引入2G带宽,是由2个电口绑定实现的.因业务需要扩容到3G,在绑定端口扩展性不太好,因此直接上10G光纤模块. 机房技术人员建议,2g老线路不撤做备份,3g新线路在线使用.使用STP协议实 ...

  4. 【MySQL】SQL语句嵌套1

    mysql中You can't specify target table <tbl> for update in FROM clause错误的意思是说,不能先select出同一表中的某些值 ...

  5. Qt事件处理机制

    研一的时候开始使用Qt,感觉用Qt开发图形界面比MFC的一套框架来方便的多.后来由于项目的需要,也没有再接触Qt了.现在要重新拾起来,于是要从基础学起. Now,开始学习Qt事件处理机制. 先给出原文 ...

  6. c++ 实现百度自动搜索

    void CAttendanceRobotDlg::DocumentCompleteExplorer4(LPDISPATCH pDisp, VARIANT* URL) { // TODO: Add y ...

  7. thinkphp验证码点击更换js实现

    <img src="__CONTROLLER__/verify" alt="" onclick=this.src="__CONTROLLER__ ...

  8. Linux命令行选项及参数

    1.main函数参数形式 int main(int argc , char *argv[] , char *env[]); //第一个参数argc代表命令行的参数个数 //第二个参数依次指向各个参数, ...

  9. 搭建高性能计算环境(九)、应用软件的安装之gaussian 09

    高斯软件一般使用的都是编译好的二进制版,所以解压缩后设置一下环境变量就可以用了. cd /opt tar xvf g09.tar.gz 设置环境变量,添加到/etc/profile文件中,重新登录后生 ...

  10. POJ C程序设计进阶 编程题#1:单词翻转

    编程题#1:单词翻转 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一 ...