Ошибка при публикации отчета с использованием rs.exe

Я получаю следующую ошибку при публикации отчета из командной строки с помощью инструмента сценариев отчета:

System.Web.Services.Protocols.SoapException: определение этого отчета недопустимо или не поддерживается этой версией служб Reporting Services. Определение отчета может быть создано в более поздней версии служб Reporting Services или содержать контент, который не является правильно сформированным или недопустимым на основе схем служб Reporting Services.

Есть и другие вопросы, касающиеся этой ошибки, и решение всегда, кажется, либо установить SQL Server 2016 или изменить проект моих отчетов на выходные данные за 2014 год. На самом деле это работает, но в этом нет необходимости. мой SQL Server версия 13.0.4446.0, что является 2016 годом. Кроме того, я могу публиковать только изнутри VS с установленным на 2016 год.

Кто-нибудь знает, что вызывает это?

1 ответ

Несколько вещей, чтобы попробовать:

  1. Какую версию VS вы используете? Я столкнулся с проблемой, когда я открыл решения в VS 2015 (я думаю), и он обновил определения отчетов, не сказав мне. Когда вы выбираете цель развертывания в VS, он изменяет файл на лету, а не исходный файл в решении. Отсюда и разные результаты, которые вы видите.
  2. Вы можете проверить это, загрузив отчет из SSRS и открыв RDL в текстовом редакторе. Сравните с вашим решением RDL и проверьте заголовок. Схема в верхней части - это то, что вы хотите сравнить:

    Отчет xmlns = "http://schemas.microsoft.com/sqlserver/reporting/ 2008/01 / reportdefinition" xmlns: rd = "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"

  3. Другой вариант: пробовали ли вы развертывать с помощью PowerShell? Проверьте SSRS GitHub для команд, но это будет 2, возможно, 3 строки кода. Очень прост в использовании.

Другие вопросы по тегам