如何向报表设计器部署数据处理扩展插件

报表设计器在您设计报表时使用数据处理扩展插件检索和处理数据。您应将数据处理扩展插件程序集作为专用程序集部署到报表设计器。还需要在报表设计器配置文件 RSReportDesigner.config 中生成一个条目。

部署数据处理扩展插件程序集

  1. 将程序集从临时位置复制到报表设计器目录中。报表服务器目录的默认位置为 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies。

  2. 在复制程序集文件后,打开 RSReportDesigner.config 文件。RSReportDesigner.config 文件也位于报表设计器目录中。还需要在配置文件中为数据处理扩展插件程序集文件生成一个条目。您可以使用 MicrosoftVisual Studio 或诸如记事本之类的简单文本编辑器打开该配置文件。

  3. 在 RSReportDesigner.config 文件中找到 Data 元素。应当在以下位置为新创建的数据处理扩展插件生成一个条目:

    <Extensions>
       <Data>
          <Your extension configuration information goes here>
       </Data>
    </Extensions>
    
  4. 为数据处理扩展插件添加一个条目,该条目包含具有 Name、Type 和 Visible 属性值的 Extension 元素。您的条目可能如下所示:

    <Extension Name="ExtensionName" Type="CompanyName.ExtensionName.MyConnectionClass, AssemblyName" />
    

    Name 的值是数据处理扩展插件的唯一名称。Type 的值是逗号分隔的列表,包括实现 IExtensionIDbConnection 接口的类的完全限定命名空间的条目,后随程序集的名称(不包括 .dll 文件扩展名)。默认情况下,数据处理扩展插件是可见的。若要从用户界面(如报表设计器)中隐藏扩展插件,请将 Visible 属性添加到 Extension 元素,并将其设置为 false。

  5. 最后,为您的自定义程序集添加一个代码组,以便为您的扩展插件授予 FullTrust 权限。为此,将该代码组添加到 rspreviewpolicy.config 文件中,该文件默认位于 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies 中。您的代码组可能如下:

    <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 8\Common7\IDE\PrivateAssemblies\MyExtensionAssembly.dll"
           />
    </CodeGroup>
    

URL 成员身份仅是您可能为数据处理扩展插件选择的多个成员身份条件之一。有关 SQL Server 2005 Reporting Services (SSRS) 中的代码访问安全性的详细信息,请参阅安全开发 (Reporting Services)

通用查询设计器

报表设计器提供了可用于自定义数据处理扩展插件的通用查询设计器。该设计器包含两个窗格:查询窗格和结果窗格。您可以使用该通用设计器编写图形界面不支持的查询。与图形查询设计器不同的是,通用查询设计器不检查查询语法或调整查询的结构。

为自定义扩展插件启用通用查询设计器

  • 将以下条目添加到 RSReportDesigner.config 文件中的 Designer 元素下,用您在之前条目中提供的名称替换 Name 属性。

    <Extension Name="ExtensionName" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>
    

验证部署

必须先关闭本地计算机上的所有 Visual Studio 实例,然后才能验证部署。结束所有当前会话之后,可以在 Visual Studio 中创建一个新报表项目,以验证数据处理扩展插件是否已成功部署到报表设计器。为报表创建新的数据集时,您的扩展插件应当包括在可用数据源类型列表中。