将数据处理扩展插件部署到报表设计器
报表设计器在设计报表时使用数据处理扩展插件来检索和处理数据。 您应将数据处理扩展插件程序集作为专用程序集部署到报表设计器。 还需要在报表设计器配置文件 RSReportDesigner.config 中生成一个条目。
部署数据处理扩展插件程序集
将程序集从临时位置复制到报表设计器目录中。 报表服务器目录的默认位置为 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies。
在复制程序集文件后,打开 RSReportDesigner.config 文件。 RSReportDesigner.config 文件也位于报表设计器目录中。 还需要在配置文件中为数据处理扩展插件程序集文件生成一个条目。 可以使用 Microsoft Visual Studio 或简单文本编辑器(如记事本)打开配置文件。
在 RSReportDesigner.config 文件中找到 Data 元素。 应当在以下位置为新创建的数据处理扩展插件生成一个条目:
<Extensions> <Data> <Your extension configuration information goes here> </Data> </Extensions>
为数据处理扩展插件添加一个条目,该扩展插件包含 Name、Type 和 Visible 属性的值。 条目可能如以下示例所示:
<Extension Name="ExtensionName" Type="CompanyName.ExtensionName.MyConnectionClass, AssemblyName" />
Name 的值是数据处理扩展插件的唯一名称。 Type 的值是以逗号分隔的列表,包括实现 IExtension 和 IDbConnection 接口的类的完全限定命名空间的条目,后跟程序集的名称(不包括 .dll 文件扩展名)。 默认情况下,数据处理扩展插件是可见的。 若要从用户界面(如报表设计器)中隐藏扩展插件,请将 Visible 属性添加到 Extension 元素,并将其设置为 false。
最后,为自定义程序集添加一个代码组,以便为扩展插件授予 FullTrust 权限。 通过将代码组添加到默认情况下位于 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies 中的 rspreviewpolicy.config 文件中,可以执行此步骤。 代码组可能如以下示例所示:
<CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="FullTrust" Name="MyExtensionCodeGroup" Description="Code group for my data processing extension"> <IMembershipCondition class="UrlMembershipCondition" version="1" Url="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\MyExtensionAssembly.dll" /> </CodeGroup>
URL 成员身份只是您可以为数据处理扩展插件选择的众多成员条件之一。 有关 SQL Server 2005 Reporting Services(SSRS)中的代码访问安全性的详细信息,请参阅 安全开发(Reporting Services)
泛型查询设计器
报表设计器提供了可用于自定义数据处理扩展插件的通用查询设计器。 该设计器包含两个窗格:查询窗格和结果窗格。 可以使用泛型设计器编写图形界面不支持的查询。 与图形查询设计器不同,泛型查询设计器不会检查查询语法或重构查询。
为自定义扩展启用通用查询设计器
将以下条目添加到 Designer 元素下的 RSReportDesigner.config 文件中,用在之前条目中提供的名称替换 Name 属性。
<Extension Name="ExtensionName" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>
验证部署
必须先关闭本地计算机上的所有 Visual Studio 实例,然后才能验证部署。 结束所有当前会话后,可以通过在 Visual Studio 中创建新的报表项目来验证数据处理扩展插件是否已成功部署到报表设计器。 为报表创建新的数据集时,您的扩展插件应当包括在可用数据源类型列表中。