Службы отчетов SQL Server 2005 - за и против

Я разрабатываю веб-приложение с использованием ASP .NET 2.0, VS 2008 и SQL Server 2005. Я хотел бы использовать SSRS 2005 для различных отчетов, которые мне нужно создать для этого веб-приложения. Я хотел бы убедить команду, что мы должны принять SSRS в качестве основной платформы отчетности для большинства имеющихся у нас внутренних и внешних веб-приложений.

Каковы плюсы и минусы служб Reporting Services? Я вижу много плюсов, таких как тесная интеграция с IIS, SQL Server и Visual Studio, богатые возможности представления и экспорта, подписка и т. Д., Поэтому меня в основном интересуют отрицательные стороны SSRS.

РЕДАКТИРОВАТЬ: Я понимаю, что если я не использую VS 2005 для разработки своих приложений, я буду использовать разные версии Visual Studio для разработки приложений и отчетов. Однако меня больше интересуют минусы (или не очень хорошие аспекты) самого SSRS.


person cwius    schedule 03.02.2009    source источник


Ответы (11)


Я знаю, что вы сказали 2005 год, но я также сделаю заметки примерно в 2008 году.

Плюсы SRS:
- Это бесплатно (при условии, что у вас есть лицензия на SQL-сервер).
- Тесная интеграция данных с SQL Server, но он отлично справляется со всем, что .NET может (Oracle, ODBC и т. Д.). (2008 has native support for Terradata too)
- Компоненты для Visual Studio, SharePoint и PerformancePoint существуют, чтобы упростить их использование. Это просто веб-приложение, поэтому интеграция в любую веб-страницу или приложение, которое может взаимодействовать с веб-сервером, также проста.
- Встроенные инструменты для подписки (т.е. электронные письма, которые регулярно отправляются в список людей с отчетом о них). Список получателей может быть статическим, сайтом sharepoint или динамическим списком людей (извлеченным из БД) (08 adds support for dynamic to sharepoint too)
- Существуют сторонние поставщики для улучшения продукта
- Экспорт в различные форматы ( XML, CSV, Excel, PDF и т. Д. ...)
- Возможность создавать шаблоны, которые опытные пользователи могут использовать для создания отчетов, не зная SQL (поскольку SQL содержится в шаблоне). Опытные пользователи используют специальный инструмент для создания отчетов, который доставляется одним щелчком мыши.
- Работает иначе, чем отчеты Crystal (мне не нравится Crystal, поэтому это для меня профи)

Недостатки SRS:
- Элементы управления диаграммами похожи на Excel 2003 и имеют некоторые ограничения. (2008 has the Dundas controls in by default so they are much more powerful, more varied and better looking)
- Проблемы с Kerberos из-за того, что это веб-приложение, могут вызывать раздражающие проблемы (2008 removes that as it is no longer an IIS web app. It runs it's own web server based off the IIS core but is closer to a stand alone app - so the security issues aren't a problem)
- Поддержка конструктора - это боль. 2000 Отчеты должны разрабатываться в VS 2003, отчеты 2005 должны разрабатываться в VS 2005, отчеты 2008 должны разрабатываться в VS 2008. Под Visual Studio я имею в виду обычную или тонкую версию, которую вы получаете с инструментами управления SQL.
- Совместимость. Каждая версия служб отчетов может запускать только текущую версию и одну обратную версию отчетов.
- Безопасность ограничена встроенной Windows или анонимной (2008 has added support for forms based security and for custom providers, like you get with ASP.NET)

person Robert MacLean    schedule 03.02.2009
comment
Мне также посчастливилось работать с Crystal, и я считаю, что SSRS намного лучше, даже с учетом упомянутых здесь проблем. - person Benjamin Autin; 11.03.2009
comment
Аутентификация с помощью форм в 2005 возможна. Это просто кошмар для настройки ... - person JPot; 21.12.2009
comment
@JPot, можете ли вы указать ссылку об этом? AFAIK любые другие средства аутентификации в 2005 году не поддерживаются. - person Robert MacLean; 22.12.2009

Один из недостатков, который я вижу в вашей настройке, заключается в том, что вам придется использовать Visual Studio 2005 для вашего проекта отчетности, поскольку вы используете SSRS 2005.

Поскольку похоже, что вы используете Visual Studio 2008 для другой разработки, это означает, что установлены обе версии и большую часть времени должны быть открыты и запущены.

У меня такая же ситуация, и это неприятно, но я к ней привык.

РЕДАКТИРОВАТЬ:
Некоторые из других недостатков, с которыми я столкнулся, обычно связаны с дизайнером. Возможно, они были исправлены в 2008 году (точно не знаю), но я отношу их к младенчеству SSRS по сравнению с другими более зрелыми решениями для отчетности.

  • Наборы данных меняются на текст, даже если вы устанавливаете для них хранимую процедуру каждый раз, когда вы входите на вкладку данных

  • Наборы данных веб-сервисов теряют свои параметры при изменении запроса

  • Редактор выражений очень прост. Это немного лучше, чем использование блокнота.

person Dustin Brooks    schedule 03.02.2009
comment
Дастин, я согласен с тем, что я буду использовать разные версии Visual Studio в своей настройке. Однако меня больше интересуют минусы (или не очень хорошие аспекты) самого SSRS. - person cwius; 03.02.2009

МИНУСЫ:

  1. Отрисовка может отличаться в Firefox или других браузерах. При использовании SSRS ReportViewer на странице ASP.NET просто убедитесь, что вы проверили внешний вид / поведение / макет отчета при визуализации в браузерах, отличных от IE.

  2. Один из минусов заключается в том, что в SSRS разработчику доступно так много опций, что поначалу это может сбивать с толку. Я больше говорю о том, следует ли использовать локальные отчеты или отчеты сервера, помещать ли код в модули кода, в повторно используемые сборки или использовать повторно используемые хранимые процедуры управляемого кода (C #).

  3. Самый большой недостаток, о котором я мог подумать в SSRS, заключается в том, что модуль кода очень простой. Нет intellisense и нет функций отладки. Также было бы здорово, если бы сценарии SSRS поддерживали C #, а не только VB.NET.

  4. Хотя выражения прекрасны, проблема в том, что нет единого контейнера / места, которое позволяет вам видеть все выражения, определенные в отчете. Это могло стать настоящим кошмаром для обслуживания в будущем.

Тем не менее, SSRS - мощный инструмент в руках опытного разработчика.

person cyclo    schedule 03.02.2009

Плюсы:

  • Бесплатно
  • Наверное, лучше привязан к MS SQL, чем большинство других
  • Подходит для большинства типов отчетов

Минусы:

  • Бесплатно; Доступ к поддержке не похож на Crystal
  • Не имеет всех функций, которые есть у более старых конкурентов. Будучи более новым программным обеспечением, оно по-прежнему получает новые функциональные возможности, которые другие продукты, такие как Crystal Reports, имели в течение многих лет.

Я часто заканчиваю тем, что составляю отчеты самым простым способом. Недавно я создал свой собственный веб-интерфейс, который управляет любой комбинацией отчетов PDF / HTML / Crystal / SRSS и доставляет их. Часто Crystal делает что-то в два этапа, или SRSS делает что-то лучше. Если бы мне пришлось выбрать один прямо сейчас для всех сценариев, я бы, вероятно, выбрал Кристалл. Чем больше я использую SRSS, будучи несколько лет назад и все еще находясь в активной разработке функций (догоняя такие продукты, как Crystal), я вижу, что он используется гораздо больше ... хотя еще не совсем.

person Jas Panesar    schedule 03.02.2009
comment
Но вы на самом деле не упомянули, какие функции отсутствуют? Вот что мне было бы интересно ... - person AviD; 23.02.2009
comment
Роберт выделил основные из них. Когда вы приступаете к разработке отчета, эти вещи становятся большой проблемой. Ключевым моментом будет то, что вы найдете все проблемы, посмотрите, какие из них актуальны и могут быть применимы, и уйти оттуда. Crystal старше, так что у него будет меньше, поскольку они создали больше функций с годами .. GL! - person Jas Panesar; 23.02.2009

Я считаю, что SSRS очень надежен и предоставляет очень широкий спектр возможностей для удовлетворения ваших требований к отчетности. Я пробовал другие (Кристалл), и он мне почти не понравился. (Хотя это может быть просто личным вкусом).

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

Честно говоря, я не могу сказать ничего плохого о SSRS. Единственным недостатком, на который указал Дастин, является то, что ваша версия VS и версия SQL отличаются. У меня есть приложение, которое находится в VS2005, но использует серверную часть SQL 2000, и мне нужно, чтобы мои отчеты были отдельными в проекте VS2003, чтобы они работали должным образом.

person Eppz    schedule 03.02.2009

Чтобы лучше провести анализ, будет легче узнать, какую альтернативу вы рассматриваете. Например, если это SSRS против ничего, тогда аргумент прост, точно так же, как SSRS против индивидуальных отчетов (например, ASP.NET). Однако, если у вас есть другие инструменты для создания отчетов, например Кристалл, тогда мы можем быть более критичными. Также, какие отчеты вы планируете, и какие функции вам в идеале нужны.

Тем не менее, я в целом согласен с другими плакатами. SSRS бесплатен и очень эффективен. В других системах могут быть дополнительные навороты, но будут ли они иметь значение и готовы ли они к расходам?

Я полагаю, учитывая, что SSRS бесплатен и достаточно прост в настройке, я предлагаю запустить пробную версию; вы, вероятно, сможете составить собственное мнение, немного поэкспериментировав - вам нечего терять!

person CJM    schedule 03.02.2009
comment
Другими альтернативами являются Crystal Reports или специальные отчеты ASP .NET. Все мои отчеты будут иметь параметры как через строку запроса, так и предоставленные пользователем. Единственное, что меня беспокоит, это безопасность, поскольку я использую настраиваемую аутентификацию и авторизацию в своем приложении ASP .NET и сохраняю роли в сеансе. - person cwius; 03.02.2009
comment
Одним из преимуществ SSRS является то, что он может быть инструментом [обученного] конечного пользователя. Ключевые пользователи часто вынуждены создавать свои собственные настраиваемые отчеты. Если ваши отчеты фиксированные и ограниченные, вы вполне можете придерживаться ASP.NET. В противном случае SSRS может предложить другое преимущество. - person CJM; 03.02.2009

SSRS удивительно прост в использовании. У нас были стажеры, которые писали отчеты в первый день работы с SSRS и хорошо выполняли свою работу в.

Эта простота имеет большое значение для разработчиков, которые просто хотят быстро подготовить отчеты, чтобы они могли вернуться к фактическому программированию.

person Dano    schedule 11.03.2009

Поправьте меня, если я ошибаюсь, но SSRS не использует проверку подлинности с помощью форм. Для просмотра отчетов из веб-приложения с помощью встроенных компонентов будет использоваться любая аутентификация, используемая для приложения. Однако для подписки и использования приложения Report Builder (щелкните один раз), для которого требуется доступ к диспетчеру отчетов, его проверка подлинности Windows.

[Edit] От Роберта Маклина: MSSQL 2008 поддерживает проверку подлинности с помощью форм, и это хорошо.

person Sean Rock    schedule 03.02.2009
comment
Вы правы. SSRS 2005 не поддерживает аутентификацию на основе форм. Вы неправы в том, что для просмотра он поддерживает то, что поддерживает приложение. Он по-прежнему использует WindowsAuth или анонимный (так же, как диспетчер отчетов). В SSRS 2008 он может использовать форму, WindowsAuth или настраивать для всего. - person Robert MacLean; 03.02.2009
comment
Спасибо за исправление. Однако я думаю, что вы можете ошибаться в отношении компонента ReportViewer в Visual Studio. Они размещаются в веб-форме и сами по себе не используют аутентификацию. - person Sean Rock; 03.02.2009

Основная проблема, с которой я столкнулся, заключалась в настройке Reportserver в рабочей / производственной веб-среде. Мне пришлось перенести отчеты из веб-службы Reportserver в веб-приложение. Сейчас среда выглядит довольно простой, но я помню, что в то время ее было сложно отлаживать.

Другой проблемой были многоязычные отчеты. Опять же: теперь его легко использовать, но будьте готовы погуглить.

Конструктор хрень. Кто знает, что означает = First (Fields! Sales.Value, "DataSet1")? У меня также были проблемы с размером отчетов (отчет был разработан так, чтобы уместиться на странице формата А4, но в конце - нет).

Продукт мне до сих пор нравится. Через некоторое время я все решил, и наш стажер смог разрабатывать и публиковать отличные отчеты.

person Mathias F    schedule 05.02.2009

SSRS 2005 Pro, интегрированный в Sharepoint Cons, интеграция с Sharepoint может вызвать затруднения при настройке с использованием Kerberos и т. Д.

person salgo60    schedule 09.04.2009

Я остановлюсь здесь только на некоторых минусах, так как большинство людей уже упомянули о преимуществах.

SSRS 2008: примитивный пользовательский интерфейс небольшая гибкость для создания причудливых вещей, например, ярких диаграмм, географических карт (без долгой долготы), взаимодействие с пользователем ограничено только применением фильтров, остальное довольно статично.

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

person bluebird    schedule 17.08.2012