2016-03-17 2 views
16

Я использую надстройку Visual Studio SSDT BI для создания отчетов для служб отчетов SQL Server. Созданный мной проект настроен на таргетинг на версии SQL Server 2008/2012/2014, так как это целевые серверы SQL, которые есть у наших клиентов.Могу ли я управлять версией новых отчетов SSDT в Visual Studio?

Однако файлы отчетов, создаваемые в Visual Studio, как представляется, нацелены на SQL Server 2016. Если я копирую файлы rdl на другой сервер и загружаю их через браузер, мне говорят, что они из более новой версии SSRS и не могут быть загружены.

Проблема заключается в двояком:

  1. <Report> тега содержит новые 2016 имен, который заменяет один 2010, который существовал в предыдущих версиях:

    <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/2016/01/reportdefinition"> 
    
  2. Новый формат файл включает в себя раздел конфигурации параметров, который определен в пространстве имен 2016, но не в 2010 году:

    <ReportParametersLayout> 
          . 
          . 
          . 
    </ReportParametersLayout> 
    

Если изменить пространство имен обратно 2010 и удалить раздел ReportParametersLayout, отчет прекрасно работает в SQL 2012, но Visual Studio будет вернуть его в следующий раз, когда я открываю отчет.

(Интересно, если я раскрываю отчеты непосредственно из VS, я получаю предупреждение о том, что макет параметр не поддерживается в 2012 году и удаляется, что предполагает, что Visual Studio является подправить определения отчетов на лету.)

Есть ли способ заставить VS оставить файлы отчетов в предыдущем формате?

+1

Кто-нибудь нашел обходное решение для этого? Комментарий от Рами. A не затрагивает актуальную проблему. –

+0

В SSDT 16.3 (номер сборки: 14.0.60812.0) они сказали: «Исправлена ​​ошибка, из-за которой были созданы недопустимые отчеты для SQL Server 2008 R2, 2012 и 2014». Кто-нибудь знает, устранила ли это проблему? – Ulli

ответ

12

Это по дизайну.

https://connect.microsoft.com/SQLServer/Feedback/Details/2103422 См

Опубликовано Риккардо [MSFT] на 12/18/2015 в 5:07 вечера
По конструкции TargetServerVersion влияет строить выходные файлы, а не исходные файлы. Вы развертываете выходные файлы сборки (которые вы можете захватить из папки \ bin \ Debug или \ bin \ Release в своем проекте), а не исходные файлы.

+0

потому что он решил мою проблему. Я указываю целевую версию, сборку и получаю отчеты из bin, которые работают с этой версией. –

+0

Чтобы уточнить ответ, источник .RDL, развернутый на целевой сервер, может отличаться от источника .RDL, который вы видите при разработке отчета. В зависимости от параметра TargetServerVersion Visual Studio будет перезаписывать файлы .RDL в папке \ bin \ XXX и также будет генерировать предупреждения о сборке, когда будут обнаружены неподдерживаемые функции отчетности (например, карты в SSRS 2008). –

+0

Спасибо. Я сходил с ума, что он менялся и не позволял мне вернуться. –

3

Был такой же вопрос, используя SSDT версию 14.0.60305.0.

1) Мне удалось изменить атрибут пространства имен xmls в теге <report> каждого из моих отчетов в соответствии с целевой средой. Ссылка https://msdn.microsoft.com/en-us/library/cc627465.aspx о том, как определить версию схемы RDL целевого сервера.

2) Я изменил TargetServerVersion на страницах свойств проекта на «SQL Server 2008 R2, 2012 или 2014». Ссылка http://www.sqlskills.com/blogs/tim/issue-publishing-to-ssrs-2012-with-ssdt-2015/, чтобы узнать, как открыть страницу свойств проекта.

HTH

+0

В SO есть правило, в котором говорится: «Ответы всегда должны давать ответ». Ваш комментарий должен быть комментарием. –

+0

Спасибо, alejandro. Просто заметила это и обновила свой ответ. –

+0

Спасибо за ответ, но я уже сделал обе эти вещи; как я указал в своем вопросе, я могу * публиковать * на сервере SQL 2012 отлично, но каждый раз, когда я редактирую файлы rdl, чтобы * загружать их на сервер, VS возвращает их в разбитые версии. –

 Смежные вопросы

  • Нет связанных вопросов^_^