部署报表和 ReportViewer 控件 rdlc
您可以将报表和 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 窗体应用程序,应将控件添加为应用程序的必备项,以使它们自动随应用程序一起安装。您可以使用引导应用程序自动完成此步骤:
打开项目属性页。
单击“发布”,再单击“必备组件”。
选择“Microsoft Visual Studio 2008 报表查看器”,然后单击“确定”。
发布应用程序。
在安装应用程序时,会在本地计算机上进行检查,以确定是否已安装 ReportViewer。如果尚未安装,安装程序将安装它。
部署 ReportViewer 控件的本地化版本
ReportViewer 控件包括八种语言的语言包:简体中文、繁体中文、法语、德语、意大利语、日语、朝鲜语和西班牙语。若要使用该控件的本地化版本,必须执行下列操作:
运行 ReportViewer.exe。
定位到包含要使用的语言包的文件夹。语言包文件夹位于 <驱动器>:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ReportViewer\<语言> 下。
运行 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的更多相关文章
- C# - VS2019 WinFrm应用程序开发报表 - ReportViewer控件初涉
前言 简单报表我们可以通过label.textBox和PrintDialog来实现,但是一般在实际生产过程中,用户的报表需求一般都是比较复杂的. 本篇主要记录对于传统中国式复杂报表的处理方法和解决思路 ...
- VS2017中使用ReportViewer控件,vs2017找不到Microsoft Rdlc Report Designer for Visual Studio
VS2017中没有ReportViewer控件,这个控件用来实现在项目中显示和打印关系数据库中的表比较容易,特别是想要打印的时候,这个比用DataGridView和PrintDocument要简单一些 ...
- 动态绑定ReportViewer控件之经验总结
以上两篇文章已经很丰富了,但是照做一遍不行,检查了N遍还是不行,就是找不出问题原因,总是提示“尚未为数据源“DataSet1_DataTable1”提供数据源实例.”这主要是说在为ReportView ...
- Microsoft ReportViewer 控件类型版本兼容问题及解决方法
错误 Parser Error Message: The base class includes the field 'rvEquipment', but its type (Microsoft.Re ...
- C#VS2017添加ReportViewer控件
安装完vs2017之后我们进行添加Report Viewer控件: 1. 点击Tools -> Extensions and Updates... 2. 在新窗口搜索栏中输入rdlc后搜索,结果 ...
- 转:ReportViewer控件使用方法
a. ReportViewer关联Report1.rdlc的简单呈现b. 对带有报表参数的Report1.rdlc的呈现c. 利用程式生成的DataSet 填充报表d. 调用存储过程 生成DataSe ...
- 找不到reportviewer控件在哪儿
請自行加入ReportViewer(9.0)到工具箱之中. 如下圖,
- 求助!使用 ReportViewer 控件集成 Reporting Services2008 时,报"...401 unauthorized"错误!
实现接口 public class ReportServiceCredetials : Microsoft.Reporting.WebForms.IReportServerCredentials { ...
- ASP.NETserver控件使用之Reportviewer 报表
1. Reportviewer 报表 1.1. Reportviewer控件 注:本教程附2个事例: l 演练:在本地处理模式下将数据库数据源与 ReportViewer W ...
随机推荐
- Tomcat安装后启动一闪而过
出现这种问题一般是环境变量没配置好.除了JDK环境变量还有Tomcat环境变量:CATALINA_HOME 和CATALINA_BASE 虽然JDK里面会含有JRE,但是最好是在环境变量里面也配置一个 ...
- 开源项目:FFmpeg
ffmpeg命令行使用 将JPG格式图片转成YUV420P格式: ffmpeg -i Z:\demo\pic.jpg -s 720x480 Z:\demo\pic.yuv 解码H265成YUV420 ...
- JS跳转到顶部的方法
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>J ...
- WP8——页面跳转方法
1.页面传值: this.NavigationService.Navigate(new Uri("/SecondPage.xaml?CustomerId=1234&Product ...
- JS常用的设计模式(17)—— 状态模式
状态模式主要可以用于这种场景 1 一个对象的行为取决于它的状态 2 一个操作中含有庞大的条件分支语句 回想下街头霸王的游戏. 隆有走动,攻击,防御,跌倒,跳跃等等多种状态,而这些状态之间既有联系又互相 ...
- leetcode 118
118. Pascal's Triangle Given numRows, generate the first numRows of Pascal's triangle. For example, ...
- 怎样在Android中ListView与ArrayAdapter配合使用
[代码]main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...
- css的#和.的区别
css的#和.的区别, css的#和.的区别 2009-03-04 14:43fyws 分类:Html/Css | 浏览 1911 次 css的#和.的区别如:#home #h3 { padding ...
- 导出数据库数据制成Excel和txt
引用ICSharpCode.SharpZipLib.dll 1.编写压缩和解压代码 using System; using System.Collections.Generic; using Syst ...
- redis的数据类型
redis有string,hash,list,sets.zsets几种数据类型 1.string数据类型 可包含任何数据,是二进制安全的,比如图片或者序列化的对象set key valueset na ...