О системах планирования ресурсов предприятия Scala, iScala
“ Вы тоже получили сообщение: «Определение данного отчета неправильное или не поддерживается данной версией служб Reporting Services. Возможно, определение отчета создано с помощью более поздней версии служб Reporting Services, имеет содержимое с неправильным форматом или является недопустимым по схеме служб Reporting Services. Подробные сведения: Определение отчета имеет недопустимое целевое пространство имен "http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition", которое невозможно обновить»? Тогда я расскажу, что можно сделать в этой ситуации
  • Главная
    • О проекте
      • Разъяснение о проекте и его участниках
      • Заявление / Memorandum
    • Новости проекта
    • Список опубликованных материалов основного раздела
    • Информация, перенесённая из старых форумов
    • Подписаться на новостную рассылку
  • Статьи
    • Статьи
    • Избранное
    • Мысли вслух
  • Процедуры
  • Доходчиво о сложном
    • Обучение
    • Как сделать?
    • iScala «для чайников»
    • Оч.умелые ручки
  • Структура таблиц
    • Scala 5.1 SR13
    • iScala 2.2 HF 2.3318
    • Tables structure changes history from iScala 2.2 SR2 to iScala 3.0 FSP4
    • Epicor iScala 2.3 — 2.03.3363
    • Epicor iScala 2.3 SR1
    • Epicor iScala 2.3 SR2
    • Epicor iScala 2.3 SR3
    • Epicor iScala 3.00 FSP 2 — 3.00.02254
    • Epicor iScala 3.0 FSP4 — 3.0.4267
    • Изменение структуры таблиц iScala 3.1 по сравнению с iScala 3.0 FSP4 / Table structure changes between iScala 3.0 FSP4 and iScala 3.1
    • Epicor iScala 3.1 — 3.1.0511
    • Epicor iScala 3.2 — 3.2.0317
    • Epicor iScala 3.3 — 3.3.0419
    • Epicor iScala 3.4 — 3.4.0399
    • Epicor iScala 3.5 — 3.5.0.0429
    • Изменение полей в таблицах БД iScala 3.4 по сравнению с iScala 3.2 / Difference between DB structure of iScala 3.4 and iScala 3.2
    • Изменение полей в таблицах БД iScala 3.5 по сравнению с iScala 2.2 / Difference between DB structure of iScala 3.5 and iScala 2.2
  • Материалы по модулям iScala
    • Главная Книга
    • Основные Средства
    • Книга Закупок
    • Книга Продаж
    • Заказы на Закупку
      • Требования
    • Заказы на Продажу
    • Управление Запасами
    • Установка, Администрирование
      • Настройка определений документов MSRS
    • Заработная плата
    • Структура базы данных
    • Отчётность SSRS
    • Отчётность AFR
    • Примеры отчётов
    • Примеры отчётов AFR
    • Интеграция с другими системами
    • Epicor Service Connect
  • English
  • Контакты
  • Поиск
Главная  »»»  Отчётность SSRS  »»»  Как загрузить отчёт SSRS 2016 на сервер с более ранней версией SQL?

Как загрузить отчёт SSRS 2016 на сервер с более ранней версией SQL?

20.11.2019 Автор Алексей Васильев

Downgrade RDL From 2016 to 2010

Вы тоже получили сообщение: «Определение данного отчета неправильное или не поддерживается данной версией служб Reporting Services. Возможно, определение отчета создано с помощью более поздней версии служб Reporting Services, имеет содержимое с неправильным форматом или является недопустимым по схеме служб Reporting Services. Подробные сведения: Определение отчета имеет недопустимое целевое пространство имен "http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition", которое невозможно обновить»? Тогда я расскажу, что можно сделать в этой ситуации.

Чуть более подробно: У меня есть отчёт, сделанный в Visual Studio 2017. Для более ранних версий SQL серверов я использую Visual Studio 2010:

Downgrade RDL From 2016 to 2010

При попытке добавить отчёт из более поздней версии в проект более ранней версии он добавляется, но при попытке открыть в дизайнере также выдаёт ошибку «Определение отчета имеет недопустимое целевое пространство имен "http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition", которое невозможно обновить»:

Downgrade RDL From 2016 to 2010

Неужели придётся всё заново создавать «с нуля»? К счастью, я нашел инструкцию, как отредактировать код отчёта «вручную». Правда, она оказалась не совсем точной, кое что пришлось изменить, поэтому я и решил поделиться тем, что я делал.

  1. Нажмём на ссылку «Изменить код».
  2. Найдём текст <Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
  3. Заменим его на <Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">
  4. Найдем «ReportParametersLayout» , выделим всё, что находится между <ReportParametersLayout> и </ReportParametersLayout> и удалим выделенное:
    удалить всё, что находится между <ReportParametersLayout> и </ReportParametersLayout>
  5. Сохраним:
    Сохранённый код отчёта
  6. Вкладку с кодом отчёта можно закрыть, вкладку с макетом отчёта тоже.
  7. Откроем отчёт снова:
    Downgrade RDL From 2016 to 2010Ура! Сколько времени сэкономлено! 🙂

Примечание от 17.01.2023:
Получил обратную связь от коллеги. Он пишет:

Воспользовался твоей инструкцией из статьи. Для 5 отчётов сработало как есть, в одном заголовок был немного другой:
<Report MustUnderstand="df" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:df="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition/defaultfontfamily">
Заменил в нём 2016 на 2010, этого было достаточно.

Надеюсь кому-то пригодится 🙂

Рубрика: Отчётность SSRS Метки: downgrade, RDL, report, Reporting Services, SQL Server, Visual Studio, как сделать?, отчёт
VK Telegram

Copyright © 2023 О системах планирования ресурсов предприятия Scala, iScala.

Gammapolis WordPress Theme by ERP & Business Consulting

Прокрутка вверх