Регистрация стандартного поставщика данных .NET Framework (службы SSRS)

Чтобы набор данных отчета служб .NET Framework получал данные с помощью поставщика данных Службы Reporting Services сторонней разработки, необходимо развернуть и зарегистрировать сборку поставщика данных .NET Framework в двух местах: на клиенте, используемом для разработки отчета, и на сервере отчетов. На клиенте поставщик данных должен быть зарегистрирован в качестве типа источника данных и связан с конструктором запросов. После этого этот поставщик может быть выбран в качестве типа источника данных при создании набора данных для отчета. При этом откроется связанный конструктор запросов, помогающий создавать запросы для этого типа источников данных. На сервере отчетов поставщик данных необходимо зарегистрировать в качестве типа источника данных. После этого может производиться обработка опубликованных отчетов, которые в качестве источника данных используют этот поставщик.

Поставщики данных сторонней разработки не обязательно должны обеспечивать весь функционал, реализуемый модулями обработки данных служб Reporting Services. Дополнительные сведения см. в разделе Источники данных, поддерживаемые службами Reporting Services (службы SSRS). Дополнительные сведения о расширении функций поставщика данных платформы Сведения о поставщике данных .NET Framework см. в разделе Реализация модуля обработки данных.

Для установки и регистрации поставщиков данных необходимы учетные данные администратора.

Регистрация поставщика данных .NET Framework на сервере отчетов

Для обработки опубликованных отчетов, использующих данные этого поставщика данных .NET Framework на сервере отчетов, на нем необходимо установить сборку. Необходимо изменить два файла конфигурации. Регистрация поставщика данных производится в файле rsreportserver.config. Чтобы предоставить права доступа к коду сборки необходимо изменить файл rssrvpolicy.config.

Установка сборки поставщика данных на сервер отчетов

  1. Перейдите в каталог bin по умолчанию на сервере отчетов, на котором планируется использование поставщика данных .NET Framework. По умолчанию каталог bin на сервере отчетов находится в папке <drive>:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin.

  2. Скопируйте сборку из промежуточной папки в каталог bin сервера отчетов. Можно также загрузить сборку в глобальный кэш сборок (GAC). Дополнительные сведения см. в разделе Работа со сборками и глобальным кэшем сборок в документации по пакету SDK платформы .NET Framework на веб-узле MSDN.

Регистрация сборки поставщика данных на сервере отчетов

  1. Создайте резервную копию файла RSReportServer.config в папке ReportServer, в которую вложен каталог bin.

  2. Откройте файл RSReportServer.config. Файл конфигурации можно открыть в Visual Studio или в любом обычном текстовом редакторе (например, в Блокноте).

  3. Найдите в файле RSReportServer.config элемент Data . Запись для поставщика данных .NET Framework необходимо создать в следующем месте:

    <Extensions>  
       <Data>  
          <Extension Your data provider configuration information goes here />  
       </Data>  
    </Extensions>  
    
  4. Добавьте запись для поставщика данных .NET Framework.

    attribute Описание
    Имя Уникальное имя поставщика данных, например MyNETDataProvider. Длина атрибута Name не должна превышать 255 символов. Имя должно быть уникальным среди всех элементов, вложенных в элемент Extension файла конфигурации. Указываемое здесь значение выводится в раскрывающемся списке типов источников данных при создании нового источника данных.
    Тип Укажите список с разделителями-запятыми, включающий полное имя пространства имен для класса, реализующего интерфейс IDbConnection, а затем укажите имя сборки поставщика данных .NET Framework (без расширения .dll файла).

    Например, для DLL-файла, развертываемого в каталоге bin сервера отчетов новый элемент может выглядеть следующим образом.

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />   
    

    При загрузке сборки в глобальный кэш сборок необходимо указать свойства строгого имени. Пример:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly,Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>  
    

Настройка групповой политики кода для поставщика данных .NET

  1. Создайте резервную копию файла rssrvpolicy.config в папке ReportServer, в которую вложен каталог bin.

  2. Откройте файл rssrvpolicy.config. Файл конфигурации можно открыть в Visual Studio или в любом обычном текстовом редакторе (например, в Блокноте).

  3. Найдите в файле rssrvpolicy.config элемент CodeGroup .

  4. Добавьте группу кода для сборки поставщика данных, предоставляющую разрешение FullTrust , как показано ниже.

    <CodeGroup class="UnionCodeGroup"  
       version="1"  
       PermissionSetName="FullTrust"  
       Name="ThisDataProviderCodeGroup"  
       Description="Code group for the .NET data provider">  
          <IMembershipCondition class="UrlMembershipCondition"  
             version="1"  
             Url=  
    "C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\DataProviderAssembly.dll"  
           />  
    </CodeGroup>  
    

Членство URL — это лишь одно из множества условий членства, которые должны быть заданы для поставщика данных.

Проверка развертывания и регистрация

Успешность развертывания поставщика данных на сервере отчетов можно проверить по его наличию в списке доступных источников данных, открыв веб-портал. Дополнительные сведения о веб-портале и источниках данных см. в разделе Создание, изменение и удаление общих источников данных (службы SSRS).

Регистрация поставщика данных .NET Framework на клиенте конструктора отчетов

Для разработки отчетов, в которых в качестве источника данных используются данные поставщика данных .NET Framework, необходимо установить сборку на клиентский компьютер, на котором запускается конструктор отчетов. Необходимо изменить два файла конфигурации. Измените файл RSReportDesigner.config для регистрации поставщика данных как источника данных и использования обычного конструктора запросов. Чтобы предоставить права доступа к коду сборки, измените файл RSPreviewPolicy.config.

Установка сборки поставщика данных на клиенте конструктора отчетов

  1. Перейдите в каталог по умолчанию PrivateAssemblies на клиенте конструктора отчетов, на котором будет использоваться поставщик данных .NET Framework. По умолчанию каталог PrivateAssemblies расположен в папке <drive>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

  2. Скопируйте сборку из промежуточной папки в каталог PrivateAssemblies клиента конструктора отчетов. Можно также загрузить сборку в глобальный кэш сборок (GAC). Дополнительные сведения см. в разделе Работа со сборками и глобальным кэшем сборок в документации по пакету SDK платформы .NET Framework на веб-узле MSDN.

Регистрация сборки поставщика данных на клиенте конструктора отчетов

  1. Создайте резервную копию файла RSReportDesigner.config в каталоге PrivateAssemblies.

  2. Откройте файл RSReportDesigner.config в Visual Studio или в обычном текстовом редакторе (например, в Блокноте).

  3. Найдите в файле RSReportDesigner.config элемент Data . Элемент для поставщика данных необходимо создать в месте, указанном ниже.

    <Extensions>  
       <Data>  
          <Extension Your data provider configuration information goes here />  
       </Data>  
    </Extensions>  
    
  4. Добавьте элемент для поставщика данных.

    Атрибут Описание
    Имя Уникальное имя поставщика данных, например MyNETDataProvider. Длина атрибута Name не должна превышать 255 символов. Имя должно быть уникальным среди всех элементов, вложенных в элемент Extension файла конфигурации. Указанное здесь значение отображается в раскрывающемся списке типов источников данных при создании нового источника данных.
    Тип Укажите список с разделителями-запятыми, включающий полное имя пространства имен для класса, реализующего интерфейс IDbConnection, а затем укажите имя сборки поставщика данных .NET Framework (без расширения .dll файла).

    Например, для DLL-файла, развертываемого в каталоге PrivateAssemblies Visual Studio, новая запись может выглядеть следующим образом:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly" />   
    

    Если сборка загружена в глобальный кэш сборок, необходимо задать свойства строгого имени. Пример:

    <Extension Name="MyNETDataProvider" Type="CompanyName.ExtensionName.DataProviderConnectionClass, DataProviderAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=MyPublicToken"/>  
    
  5. Найдите в файле RSReportDesigner.config элемент Designer . Запись для поставщика данных .NET Framework необходимо создать в следующем месте:

    <Extensions>  
       <Designer>  
          <Your data provider configuration information goes here>  
       </Designer>  
    </Extensions>  
    
  6. Добавьте в файл RSReportDesigner.config после элемента Designer следующий элемент. Атрибут Name необходимо заменить именем, которое указывалось в предыдущих элементах.

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

Настройка групповой политики кода для поставщика данных .NET на клиенте конструктора отчетов

  1. Создайте резервную копию файла RSPreviewPolicy.config в каталоге PrivateAssemblies.

  2. Откройте файл RSPreviewPolicy.config в Visual Studio или в обычном текстовом редакторе (например, в Блокноте).

  3. Найдите в файле RSPreviewPolicy.config элемент CodeGroup .

  4. Добавьте группу кода для сборки поставщика данных .NET Framework, предоставляющую разрешение FullTrust. как показано ниже.

    <CodeGroup class="UnionCodeGroup"  
       version="1"  
       PermissionSetName="FullTrust"  
       Name="ThisDataProviderCodeGroup"  
       Description="Code group for the .NET data provider">  
          <IMembershipCondition class="UrlMembershipCondition"  
             version="1"  
             Url=  
    " C:\Program Files\Microsoft Visual Studio 9\Common7\IDE\PrivateAssemblies\DataProviderAssembly.dll"  
           />  
    </CodeGroup>  
    

Членство URL — это лишь одно из множества условий членства, которые должны быть заданы для поставщика данных.

Проверка развертывания и регистрации на клиенте конструктора отчетов

Прежде чем выполнять проверку развертывания, необходимо закрыть все экземпляры среды Visual Studio на локальном компьютере. После завершения всех текущих сеансов можно проверить правильность развертывания поставщика данных в конструкторе отчетов, создав в Visual Studio новый проект отчета. При создании набора данных для отчета поставщик данных должен появиться в списке доступных типов источников данных.

Замечания о платформе

На 64-разрядной платформе (x64) SQL Server Data Tools (SSDT) работает в 32-разрядном режиме WOW. При разработке отчетов на платформе x64, для обеспечения их просмотра на клиенте конструктора отчетов необходимо установить 32-разрядную версию поставщика данных. Если отчет публикуется в той же системе, необходимо установить поставщики данных для архитектуры x64, чтобы просматривать отчеты на веб-портале.

SQL Server Data Tools не поддерживается на платформах с процессорами Itanium.

Модули обработки данных, установленные со службами Reporting Services, должны быть скомпилированы в исходном формате для каждой из платформ и установлены в соответствующие каталоги. Если регистрируется пользовательский или стандартный поставщик данных .NET Framework, то он должен быть скомпилирован в исходном формате для конкретной платформы и установлен в соответствующий каталог. При работе на 32-разрядной платформе поставщик данных должен быть скомпилирован для 32-разрядной платформы, а при работе на 64-разрядной платформе — для 64-разрядной платформы. 32-разрядный поставщик данных с 64-разрядными интерфейсами на 64-разрядной платформе использовать нельзя. Сведения о работоспособности на установленной платформе поставщика данных сторонней разработки см. в документации по этому программному обеспечению. Дополнительные сведения о поставщиках данных и поддержке платформ см. в разделе Источники данных, поддерживаемые службами Reporting Services (службы SSRS).

См. также:

Настройка и администрирование сервера отчетов (службы Reporting Services в собственном режиме)
Реализация модуля обработки данных
Файлы конфигурации служб Reporting Services
Управление доступом для кода в службах Reporting Services