Альтернатива средству просмотра отчетов для служб отчетов SQL - PullRequest
10 голосов
/ 07 ноября 2011

Мы планируем обновить наше существующее приложение ASP.NET в MVC3.Наше текущее приложение основано только на IE, и обновление будет независимым от браузера, т. Е. Оно должно работать в IE8 +, Firefox, Chrome и Safari.

Основная проблема, которую мы имеем, состоит в том, что у нас есть ряд отчетов, основанных на SQLReporting Services 2008 R2 и мы используем элемент управления Report Viewer 2010.

Мы не хотим использовать это в будущем, потому что:

  • Это глючит (например, мы можем 't использовать версию SP1 для визуализации HTML, который иногда нарушает работу нашего сайта)
  • У него проблемы с браузерами, отличными от IE (например, отсутствует IterationId при ошибке URL)
  • Он основан на Viewstate
  • Трудно локализовать некоторые визуализированные выходные данные элемента управления

Я бы очень хотел заменить его на альтернативный (даже если он основан на viewstate и нам нужно взломать решение с помощью MVC) но я не смог найти.Есть ли альтернативный элемент управления, который предоставляет отчеты служб отчетов?Мы хотим заменить зрителя, а не RS.

Ответы [ 3 ]

2 голосов
/ 12 февраля 2016

Мы хотели интегрировать SSRS с существующим веб-сайтом, но не хотели использовать пользовательский интерфейс SSRS (поскольку это в значительной степени собственный веб-сайт), и мы не хотели использовать элементы управления представлением отчетов (хотя у нас есть ASP.Веб-сайт NET, элементы управления для просмотра отчетов имеют ограниченные возможности, чтобы заставить его делать то, что вы хотите).Решение, которое сработало для нас, было:

  1. Вызовите веб-службу SSRS, чтобы получить список отчетов, и перетащите значения в раскрывающийся список.

  2. Считайте путь к отчету из выпадающего списка и получите веб-службу SSRS, которая возвращает параметры выбранного отчета.

  3. Создание элементов управления вводом на основе того, что вернулось в #2.

  4. Пользователи предоставляют входные значения и отправляют форму.

  5. Страница передает значения в веб-службу SSRS и возвращает обратноPDF, Excel, Word документ, основанный на запросах пользователя.

Это было не так уж сложно (потребовалось <40 часов для кодирования и тестирования) и работает очень хорошо.Самая большая проблема, с которой мы сталкиваемся, - это поддержка различных версий веб-службы SSRS при переходе с одной версии SSRS на другую. </p>

Я предполагаю, что вы хотите выводить отчеты в виде HTML и подавать их в пользовательский интерфейс, вы тоже можете это сделать.

Очевидно, что если вы хотите, чтобы все пользователи редактировали свойства отчетов, создавали подписки и т. д. - вам придется выполнить дополнительную работу.

0 голосов
/ 19 ноября 2013

Вы можете просто просмотреть версию HTML и установить вместо нее элементы управления, которые будут привязаны службой в REST URI.EG:

http:// (servername)/(ReportServer)/(PathtoReport)&(Parameter=Value)&rs:Command=Render

Я никогда не пробовал ничего, кроме размещения этого в html-объекте «Форма», но мне хотелось бы знать, не могли бы вы уйти, просто используя html-браузер по умолчанию и просто заставив REST URI иметьусловия.

Вы также можете, если вы действительно хотите погрузиться в VB.NET или C # .NET в своем коде ASP.NET.Может быть, вы можете просто отобразить байтовый массив служб Reporting Services в тип PDF или HTML, а затем представить его в программе просмотра.Это не может быть жизнеспособным решением, так как я не уверен, что вы захотите затем представить двоичный объект в проприетарном формате, а не просто веб-часть существующего вызова.Это может потребовать больше усилий и будет более приспособлено для рендеринга только того типа, который вы выбираете: PDF, Excel, HTML и т. Д. Но это можно сделать.Я в основном сделал проект библиотеки с логикой для выполнения вызовов после создания прокси-класса из службы SSRS.Подробнее об этом здесь: Программный экспорт отчета SSRS из sharepoint с использованием ReportService2010.asmx

0 голосов
/ 24 ноября 2011

Я согласен с вами. Это действительно глючный элемент управления. Я поиграл с настройками DOCTYPE, чтобы настроить вывод html.

Если вы можете попробовать коммерческие, взгляните на Telerik control.

Также посмотрите на это обсуждение:

http://siddhumehta.blogspot.com/2011/07/ssrs-reportviewer-webpart-control.html

...