Ошибка при публикации отчета с использованием 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 ответ
Несколько вещей, чтобы попробовать:
- Какую версию VS вы используете? Я столкнулся с проблемой, когда я открыл решения в VS 2015 (я думаю), и он обновил определения отчетов, не сказав мне. Когда вы выбираете цель развертывания в VS, он изменяет файл на лету, а не исходный файл в решении. Отсюда и разные результаты, которые вы видите.
Вы можете проверить это, загрузив отчет из SSRS и открыв RDL в текстовом редакторе. Сравните с вашим решением RDL и проверьте заголовок. Схема в верхней части - это то, что вы хотите сравнить:
Отчет xmlns = "http://schemas.microsoft.com/sqlserver/reporting/ 2008/01 / reportdefinition" xmlns: rd = "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"
Другой вариант: пробовали ли вы развертывать с помощью PowerShell? Проверьте SSRS GitHub для команд, но это будет 2, возможно, 3 строки кода. Очень прост в использовании.