Как зарегистрировать стандартный поставщик данных .NET Framework
Добавления: 12 декабря 2006 г.
Чтобы набор данных отчета служб Reporting Services получал данные с помощью поставщика данных .NET Framework сторонней разработки, необходимо развернуть этот поставщик данных и зарегистрировать сборку в двух местах: на клиенте, используемом для разработки отчета, и на сервере отчетов. На клиенте поставщик данных должен быть зарегистрирован в качестве типа источника данных и связан с конструктором запросов. После этого этот поставщик может быть выбран в качестве типа источника данных при создании набора данных для отчета. При этом откроется связанный конструктор запросов, помогающий создавать запросы для этого типа источников данных. На сервере отчетов поставщик данных необходимо зарегистрировать в качестве типа источника данных. После этого может производиться обработка опубликованных отчетов, которые в качестве источника данных используют этот поставщик.
Поставщикам данных сторонней разработки не обязательно обеспечивать все функции, реализуемые модулями обработки данных служб Reporting Services. Дополнительные сведения см. в разделе Источники данных, поддерживаемые службами Reporting Services. Дополнительные сведения о расширении функций поставщика данных .NET Framework см. в разделе Implementing a Data Processing Extension.
Для установки и регистрации поставщиков данных необходимы учетные данные администратора.
Регистрация поставщика данных .NET Framework на сервере отчетов
Для обработки опубликованных отчетов, использующих этот поставщик данных .NET Framework на сервере отчетов, на нем необходимо установить сборку. Необходимо изменить два файла конфигурации. Регистрация поставщика данных производится в файле rsreportserver.config. Чтобы предоставить права доступа к коду сборки необходимо изменить файл rssrvpolicy.config.
Установка сборки поставщика данных на сервер отчетов
Перейдите в каталог bin по умолчанию сервера отчетов, на котором планируется использование поставщика данных .NET Framework. По умолчанию это каталог <drive>:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin.
Скопируйте сборку из промежуточной папки в каталог bin сервера отчетов. Можно также загрузить сборку в глобальный кэш сборок (GAC). Дополнительные сведения см. в разделе Работа со сборками и глобальным кэшем сборок в документации по пакету .NET Framework SDK на веб-узле msdn.microsoft.com.
Регистрация сборки поставщика данных на сервере отчетов
Создайте резервную копию файла RSReportServer.config в папке ReportServer, в которую вложен каталог bin.
Откройте файл RSReportServer.config. Это можно сделать с помощью среды Microsoft Visual Studio или обычного текстового редактора (например Блокнота).
Найдите в файле RSReportServer.config элемент Data. Элемент для поставщика данных .NET Framework необходимо создать в месте, указанном ниже.
<Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions>
Добавьте элемент для поставщика данных .NET Framework.
Атрибут Описание Name
Уникальное имя поставщика данных, например MyNETDataProvider. Длина атрибута Name не должна превышать 255 символов. Имя должно быть уникальным среди всех элементов, вложенных в элемент Extension файла конфигурации. Указываемое здесь значение выводится в раскрывающемся списке типов источников данных при создании нового источника данных.
Type
Список с разделителями-запятыми, включающий полное имя пространства имен для класса, реализующего интерфейс 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
Создайте резервную копию файла rssrvpolicy.config в папке ReportServer, в которую вложен каталог bin.
Откройте файл rssrvpolicy.config. Это можно сделать с помощью среды Microsoft Visual Studio или простого текстового редактора (например Блокнота).
Найдите в файле rssrvpolicy.config элемент CodeGroup.
Добавьте группу кода для сборки поставщика данных, предоставляющую разрешение 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\MSSQL\Reporting Services\ReportServer\bin\DataProviderAssembly.dll" /> </CodeGroup>
Членство URL — это лишь одно из множества условий членства, которые должны быть заданы для поставщика данных. Дополнительные сведения о безопасности доступа к коду в службах Reporting Services см. в разделе Understanding Code Access Security in Reporting Services.
Проверка развертывания и регистрация
Успешность развертывания поставщика данных на сервере отчетов можно проверить по его наличию в списке источников данных, открыв диспетчер отчетов. Дополнительные сведения о диспетчере отчетов и источниках данных см. в разделе Создание, изменение и удаление общих источников данных.
Регистрация поставщика данных .NET Framework на клиенте конструктора отчетов
Для разработки отчетов, которые используют в качестве источника данных поставщик данных .NET Framework, необходимо установить сборку на клиентский компьютер, на котором запускается конструктор отчетов. Необходимо изменить два файла конфигурации. Измените файл RSReportDesigner.config для регистрации поставщика данных как источника данных и использования обычного конструктора запросов. Чтобы предоставить права доступа к коду сборки, измените файл RSPreviewPolicy.config.
Установка сборки поставщика данных на клиенте конструктора отчетов
Перейдите в каталог по умолчанию PrivateAssemblies на клиенте конструктора отчетов, на котором будет использоваться поставщик данных .NET Framework. По умолчанию каталог PrivateAssemblies расположен в папке <drive>:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies.
Скопируйте сборку из промежуточной папки в каталог PrivateAssemblies клиента конструктора отчетов. Можно также загрузить сборку в глобальный кэш сборок (GAC). Дополнительные сведения см. в разделе Работа со сборками и глобальным кэшем сборок в документации по пакету .NET Framework SDK на веб-узле msdn.microsoft.com.
Регистрация сборки поставщика данных на клиенте конструктора отчетов
Создайте резервную копию файла RSReportDesigner.config в каталоге PrivateAssemblies.
Откройте файл RSReportDesigner.config с помощью среды Visual Studio или простого текстового редактора (например Блокнота).
Найдите в файле RSReportDesigner.config элемент Data. Элемент для поставщика данных необходимо создать в месте, указанном ниже.
<Extensions> <Data> <Extension Your data provider configuration information goes here /> </Data> </Extensions>
Добавьте элемент для поставщика данных.
Атрибут Описание Name
Уникальное имя поставщика данных, например MyNETDataProvider. Длина атрибута Name не должна превышать 255 символов. Имя должно быть уникальным среди всех элементов, вложенных в элемент Extension файла конфигурации. Указанное здесь значение отображается в раскрывающемся списке типов источников данных при создании нового источника данных.
Type
Список с разделителями-запятыми, включающий полное имя пространства имен для класса, реализующего интерфейс 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"/>
Найдите в файле RSReportDesigner.config элемент Designer. Элемент для поставщика данных .NET Framework необходимо создать в месте, указанном ниже.
<Extensions> <Designer> <Your data provider configuration information goes here> </Designer> </Extensions>
Добавьте в файл RSReportDesigner.config после элемента Designer следующий элемент. Атрибут Name необходимо заменить именем, которое указывалось в предыдущих элементах.
<Extension Name="MyNETDataProvider" Type="Microsoft.ReportingServices.QueryDesigners.GenericQueryDesigner,Microsoft.ReportingServices.QueryDesigners"/>
Настройка политики группы кода для поставщика данных .NET для клиента конструктора отчетов
Создайте резервную копию файла RSPreviewPolicy.config в каталоге PrivateAssemblies.
Откройте файл RSPreviewPolicy.config с помощью среды Visual Studio или простого текстового редактора (например Блокнота).
Найдите в файле RSPreviewPolicy.config элемент CodeGroup.
Добавьте группу кода для сборки поставщика данных .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 8\Common7\IDE\PrivateAssemblies\ DataProviderAssembly.dll" /> </CodeGroup>
Членство URL — это лишь одно из множества условий членства, которые должны быть заданы для поставщика данных. Дополнительные сведения о безопасности доступа к коду в службах Reporting Services см. в разделе Understanding Code Access Security in Reporting Services.
Проверка развертывания и регистрации на клиенте конструктора отчетов
Прежде чем выполнять проверку развертывания, необходимо закрыть все экземпляры среды Visual Studio на локальном компьютере. После завершения всех текущих сеансов можно проверить успешность развертывания поставщика данных в конструкторе отчетов, создав с помощью среды Visual Studio новый проект отчета. При создании набора данных для отчета поставщик данных должен появиться в списке доступных типов источников данных.
Замечания о платформе
На 64-разрядной (x64) платформе среда SQL Server Business Intelligence Development Studio выполняется в 32-разрядном режиме WOW. При разработке отчетов на платформе x64, для обеспечения их просмотра на клиенте конструктора отчетов необходимо установить 32-разрядную версию поставщика данных. Если отчет публикуется в той же системе, необходимо установить поставщики данных x64 для просмотра отчетов с помощью диспетчера отчетов.
Среда Business Intelligence Development Studio не поддерживается платформами на базе Itanium.
Модули обработки данных, установленные в службах Reporting Services, должны быть скомпилированы для каждой из платформ и установлены в соответствующие каталоги. Если регистрируется пользовательский или стандартный поставщик данных .NET Framework, то он должен быть скомпилирован для целевой платформы и установлен в соответствующий каталог. При работе на 32-разрядной платформе поставщик данных должен быть скомпилирован для 32-разрядной платформы, а при работе на 64-разрядной платформе — для 64-разрядной платформы. 32-разрядный поставщик данных с 64-разрядными интерфейсами на 64-разрядной платформе использовать нельзя. Сведения о работоспособности на установленной платформе поставщика данных сторонней разработки см. в документации по этому программному обеспечению. Дополнительные сведения о поставщиках данных и поддержке платформ см. в разделе Источники данных, поддерживаемые службами Reporting Services.
См. также
Основные понятия
Настройка компонентов служб Reporting Services
Другие ресурсы
Implementing a Data Processing Extension