如何升级自定义程序集和扩展插件
新建日期: 2007 年 9 月 15 日
SQL Server Reporting Services 提供了可扩展的体系结构,允许开发人员创建用于自定义数据处理、传递、呈现和安全扩展插件的共享程序集。 它还支持用于报表项值、样式和格式的自定义程序集。
如果在 SQL Server 2000 Reporting Services 安装中部署了自定义扩展插件或程序集,安装程序将阻止安装的自动升级并显示以下错误:“已为此报表服务器部署了自定义程序集。” 如果选择多个组件进行升级,则可以继续升级其他 SQL Server 2005 组件。 但是,若要升级 Reporting Services,现在必须关闭安装程序并执行以下步骤:
- 删除 rsreportserver.config 文件中的自定义设置。 若要升级自定义安装,可以从 rsreportserver.config 文件中临时删除自定义程序集或扩展插件的配置设置。 这样会使安装程序跳过对自定义程序集的升级检查,因为由于没有自定义设置,所以安装看起来像默认安装。
- 运行安装程序以升级 Reporting Services。
- 如有必要,重新编译自定义程序集或扩展插件。
- 必须总是重新编译自定义安全扩展插件。 报表服务器上的所有安全扩展插件必须包括对报表模型和模型项安全性的引用,即使不计划使用模型或模型项安全性也是如此。
- 仅当其他扩展插件和程序集与旧安装的文件或文件路径信息具有相关性时,才需要对它们进行重新编译。 在升级后的安装中,文件夹在程序文件夹名称中包含了实例信息(例如,MSSQL.1 表示数据库引擎的默认实例)。 如果扩展插件或程序集引用不再存在的路径,则会在运行时得到错误。 例如,以下错误发生在升级后,它提示您是否需要重新编译数据处理扩展插件:“处理报表时出错。 试图使用未在此报表服务器中注册的数据处理扩展插件 <名称>。”
如果需要重新编译,则必须使用 Visual Studio 2005 或下载 Visual Studio 2005 Express Edition 组件。 SQL Server 2005 Reporting Services 程序文件基于 Microsoft .NET Framework 2.0 构建的托管程序集。 若要在项目中引用 Microsoft.ReportingServices.Interfaces.dll 的 SQL Server 2005 版本,必须使用构建 .NET Framework 2.0 应用程序的 Visual Studio 2005 开发环境来编译项目。
- 将自定义程序集或扩展插件移动到升级后的安装中的正确文件夹。 您必须找到包含 Reporting Services 程序文件的文件夹并将自定义应用程序文件复制到新位置。 如果只安装了数据库引擎和 Reporting Services 的默认实例,则 Reporting Services 程序文件很有可能位于 MSSQL.2 中。
- 将自定义设置添加到 rsreportserver.config 文件中。
删除自定义设置并升级 Reporting Services
备份 rsreportserver.config 文件。
从 rsreportserver.config 文件中删除自定义扩展插件设置。 无需从其他配置文件或安全策略文件中删除条目。 在升级过程中将会更新并移动这些文件;但会保留任何自定义设置。
运行安装程序以升级报表服务器安装。
重要提示: |
---|
如果选择 SQL Server 2005 安装程序中的较新 SQL Server 2005 示例,则升级过程将删除旧示例并用新版本替换它们。 如果仍要使用这些示例扩展插件或应用程序,请在升级之前将源文件复制到其他位置。 |
- 将自定义程序集复制到新的目录结构。 将文件放入 \Program Files\Microsoft SQL Server\MSSQL.x\Reporting Services\ReportServer\Bin 文件夹中。
- 编辑 rsreportserver.config 并将自定义扩展插件设置重新添加到该文件中。
重新编译自定义程序集
重新编译依赖于报表服务器目录结构中的文件的自定义安全扩展插件或自定义程序集:
- 启动 Visual Studio 2005。
- 打开解决方案。 系统将提示您转换文件。
- 在解决方案资源管理器中右键单击**“引用”,再单击“添加引用”**。
- 单击**“浏览”**。
- 浏览到 Program Files\Microsoft SQL Server\MSSQL.x\Reporting Services\ReportServer\Bin 文件夹,并选择 Microsoft.ReportingServices.Interfaces.dll。
- 生成项目或解决方案。
将自定义扩展插件或自定义程序集复制到 \ReportServer\Bin 文件夹。
如果相应条目不存在,请将自定义扩展插件或自定义程序集设置添加到 rsreportserver.config 文件。
检查 rsreportdesigner.config、rswebapplication.config 和安全策略配置文件以验证自定义设置仍然有效。 尤其是,如果自定义设置包含 Reporting Services 文件夹的路径,请编辑值以使用新的文件夹路径。
测试应用程序和报表。
请参阅
概念
其他资源
Using Custom Assemblies with Reports
Reporting Services Extensions