Как обновить нестандартные сборки и расширения
Добавления: 15 сентября 2007 г.
Службы SQL Server Reporting Services предоставляют расширяемую архитектуру, позволяющую разработчикам создавать общие сборки для модулей пользовательской обработки данных, доставки, подготовки и безопасности. Также в них поддерживается использование пользовательских сборок для значений элементов, стилей и форматирования отчетов.
Если в установке служб SQL Server 2000 Reporting Services были развернуты пользовательские модули или сборки, то программа установки блокирует автоматическое обновление этой установки и выведет следующую ошибку: «На этом сервере отчетов развернуты пользовательские сборки». Если было выбрано обновление нескольких компонентов, то обновление других компонентов SQL Server 2005 можно продолжить. Однако для обновления служб Reporting Services понадобится закрыть программу установки и совершить следующие шаги.
- Удалите пользовательские настройки из файла rsreportserver.config. Чтобы провести обновление пользовательской установки, можно временно удалить настройки конфигурации для пользовательских сборок и модулей из файла rsreportserver.config. После этого программа установки сможет успешно провести проверку на наличие пользовательских сборок, поскольку без пользовательских настроек установка выглядит точно так же, как и установка по умолчанию.
- Запустите программу установки, чтобы обновить службы Reporting Services.
- При необходимости перекомпилируйте пользовательскую сборку или модуль.
- Нестандартные модули безопасности необходимо перекомпилировать обязательно. Во все модули безопасности сервера отчетов должны входить ссылки на настройки безопасности моделей и их элементов, даже если в дальнейшем не планируется их использование.
- Другие модули и сборки необходимо перекомпилировать только в том случае, если они зависят от файла или от пути к файлу из старой установки. В обновленной установке в имена программных папок входят сведения об экземплярах (например MSSQL.1 для экземпляра по умолчанию компонента Database Engine). Если модуль или сборка ссылаются на путь, которого больше не существует, то во время их выполнения будет выведена ошибка. Например, следующая ошибка, возникающая после обновления, сообщит о необходимости перекомпиляции модуля обработки данных: «Произошла ошибка при обработке отчета. Предпринята попытка использовать незарегистрированный для этого сервера отчетов модуль обработки данных >имя>».
Если необходимо провести перекомпиляцию, то следует использовать среду 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 в своем проекте, следует скомпилировать этот проект с помощью среды разработки Visual Studio 2005, в которой создаются приложения .NET Framework 2.0.
- Переместите пользовательские сборки и модули в правильную папку обновленной установки. Необходимо найти папку, в которой содержатся программные файлы служб Reporting Services, и скопировать в нее файлы пользовательских приложений. Если были установлены экземпляры по умолчанию компонента Database Engine и служб Reporting Services, то программные файлы служб Reporting Services, скорее всего, будут в папке MSSQL.2.
- Добавьте пользовательские настройки в файл rsreportserver.config.
Удаление пользовательских настроек и обновление служб Reporting Services
Создайте резервную копию файла rsreportserver.config.
Удалите настройки пользовательских модулей из файла rsreportserver.config. Из других файлов конфигурации и файлов политики безопасности записи удалять не нужно. Эти файлы будут обновлены и перемещены во время обновления; любые пользовательские установки будут сохранены.
Запустите программу установки для обновления каждой установки сервера отчетов.
![]() |
---|
Если в программе установки 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, то его значение следует отредактировать, чтобы в нем был новый путь.
Проверьте приложения и отчеты.
См. также
Основные понятия
Обновление служб Reporting Services
Другие ресурсы
Using Custom Assemblies with Reports
Reporting Services Extensions