Какой из Crystal Reports и SSRS (SQL Server Reporting Services) лучше использовать?
Какой из Crystal Reports и SSRS (SQL Server Reporting Services) лучше использовать?
Ответы:
С одной стороны, Crystal Reports - это дымящаяся куча дорогих и раздутых ослиных фекалий, а с другой стороны, SSRS фактически выполняет все обещания, которые дает маркетинг CR - и это бесплатно.
Мое презрение к CR проистекает из многих лет использования этой ужасной штуки. На самом деле нет смысла подробно описывать крайнюю одиозность CR, когда я могу дать вам ссылки, такие как Clubbing the Crystal Dodo или Crystal Reports Sucks Donkey Dork (не такие смешные, а скорее более грамотные и обоснованные техническими деталями).
Свободный?! Ага. Вам даже не нужно покупать MS SQL Server, чтобы получить его - вы можете установить SQL Express с Advanced Services. Это доступно для загрузки, которое включает службы отчетов SQL Server . Хотя SQL Express ограничен в количестве одновременных пользователей, которые он может поддерживать, следует отметить следующие наблюдения:
Лицензия на SSRS, полученная как часть SQL Express, требует только, чтобы она была развернута как часть SQL Express. Нет ничего, что запрещало бы подключение к другим источникам данных или требовало, чтобы отчет получал данные с SQL Server.
Вышеупомянутая версия SSRS не имеет внутренних ограничений на пользовательские подключения. Все ограничения накладываются на ядро базы данных SQL Express.
SSRS использует ADO.NET, который включает в себя готовые драйверы для Oracle, Jet (Access), OLEDB и ODBC.
Таким образом, вы можете подключить бесплатную версию SSRS к любой серверной части, к которой вы можете подключить ADO.NET, включая (например) MySQL. В комментарии ниже Рори сказал мне, что это «не поддерживается». Это правда, но я не могу найти в лицензии ничего, что запрещало бы это, и хотя драйверы не поставляются SSExpress, они, безусловно, есть. в состав большинства версий Visual Studio, и вы можете отправить их в свой установочный комплект. Это может быть явно не поддерживаемая конфигурация, но что с того? Даже если бы у вас была полная лицензия MSSQL, было бы слишком сложно ожидать, что Microsoft поможет вам поговорить с какой-то сторонней базой данных (не говоря уже о немного странности).
Я широко использую SSRS в работе как для внутренних, так и для внешних отчетов, встроенных в приложения ASP.NET, которые предоставляют услуги бюро большому количеству платящих клиентов. В нашем случае бывает, что резервное хранилище является лицензионной копией Microsoft SQL Server 2008, но это связано с техническими достоинствами нашего решения для отчетности.
Существует длинный список возможностей, которые, по утверждению Crystal Reports, поддерживают, но которые либо не работают, либо требуют невероятно дорогой лицензии, если вы хотите использовать более пяти пользователей. Вы даже не можете доверять CR правильно выполнять SQL. SELECT COUNT(*) FROM SOMETABLE WHERE 1=0
должен дать нулевой результат, но он дает единицу . Встроенный механизм запросов неисправен, и команда, которая ошибается в том, что кучка любителей может сделать бесплатно (например, MySQL), не надеется получить что-то, что вы бы описали как производительность из их кода.
А они этого не делают. Вредная штука утекает память, как ведро без дна, и если вы воспользуетесь инструментами профилирования SQL, вы обнаружите, что это чрезвычайно неэффективно.
Что касается предполагаемой поддержки, я могу лично засвидетельствовать, что ошибки изменения размера диалогов не исправлялись в течение десятилетий после того, как они были впервые публично задокументированы. Если вы достанете свою кредитную карту и заплатите требуемый выкуп (я тоже хотел бы получить солидную плату, чтобы поддержать такой ужас), вы обнаружите, что разговариваете с кем-то, кто утверждает, что его зовут Дэвид, но необъяснимым образом произносит это «Да-фут», и кто даже не понимает вашего вопроса, тем более не имеет ответа.
Ситуация с поддержкой SSRS довольно похожа, но на самом деле она работает, так что вам действительно не нужно много.
SSRS, с другой стороны, делает все, на что претендует CR. В нем есть ошибки, но их удивительно мало, и они редко переживают более одного цикла выпуска.
Пользовательский интерфейс конструктора SSRS размещен в среде IDE Visual Studio. Он красиво оформлен в типичном для Microsoft стиле, но, более того, он довольно хорошо продуман и включает несколько простых, но фундаментальных отклонений от традиционных дизайнеров отчетов. Например, для представления табличных данных вы определяете таблицу, а не возитесь с отдельными текстовыми полями. В результате вам не нужно теряться, пытаясь выровнять их, а наложение границ на них - тривиальное упражнение с таблицей стилей.
SSRS фактически делает все, что утверждает CR, он недорогой, имеется обширная надежная техническая документация, он разработан для расширения (также задокументирован), и вы можете подключить его ко всему, для чего вы можете получить драйвер ODBC. Это и ежу понятно.
На самом деле похоже, что перекрывающиеся группы могут быть выполнены и с SSRS2005, хотя я никогда этого не знал. Интересно, кто-нибудь когда-нибудь решал проблему позиционирования относительно дна?
Я использовал отчет Crystal до версии 10 и всегда успешно делал то, что хотел, вместе с приложениями ASP.NET. Его вывод в Интернете действительно хорош, как WYSIWYG, и экспорт в Excel и PDF также точен. Печать тоже на удивление правильная.
Недавно я работал над SSRS 2005 около года и живу, чтобы засвидетельствовать так много недостатков, которые, должно быть, были добавлены прямо из коробки. Выходные данные SSRS сильно различаются в зависимости от браузеров и разрешения различий, и разработчик легко может заболеть. Более того, проблемы с прокруткой в средстве просмотра отчетов довольно рано разозлили бы конечного пользователя, так как он основан на HTML с использованием IFRAME. ( Примечание: Crystal 13 использует IFRAME в веб-средстве просмотра, которое страдает от спорадических проблем с переносом текста и перекрытием.). Экспорт совсем не хороший. Вы не можете выровнять изображения по левому краю или по центру в ячейках и не можете указать цвета фона для изображений. Вы не можете выровнять по центру все тело отчета. По возможности, я часами играл с визуализированным HTML и придумал точные замены, чтобы это работало, но эти простые исправления не были известны разработчикам SSRS, я думаю, потому что, вероятно, они никогда не использовали SSRS для себя.
Кроме того, в веб-приложениях вам нужно иметь плохой пользовательский интерфейс для параметров из коробки. Я просто полностью удалил его, и стоимость его создания на страницах ASPX заставила меня задуматься о разработке табличных отчетов в DataGrids вместо использования ObjectDataSource и техники разбивки на страницы. Вы не можете расположить параметры в соответствии с вашими потребностями. Ошибки в разделах параметров при отправке полных отчетов без изменений. Пейджинг с группировкой работает с уловкой, но сортировка не выполняется для всего набора данных. Для каждого требования к пользовательскому интерфейсу от среднего до продвинутого уровня SSRS требует так много времени, чтобы выяснить, что это просто невозможно. Поскольку пользователей SSRS меньше, у онлайн-сообщества нет хороших решений для простых проблем. Не забывайте, что хорошая сторона SSRS - это его развертывание, встроенные уведомления, кеширование и конфигурация, но отсутствие пользовательского интерфейса для победы.
BOTTOMLINE заключается в том, что я видел, как SSRS расстраивает вас только из-за того, что команда поддержки Microsoft не отвечает, когда им приходится извиняться! не сейчас »через месяц. SSRS 2008 также не решает сразу многие из этих проблем. Более того, переход на SSRS '08 означает также полную миграцию серверных платформ. Принимая во внимание уравнение, что чем больше вы используете программное обеспечение, тем больше оно со временем становится зрелым, Crystal в любом случае является гораздо лучшим выбором, потому что SSRS вскоре накапливает затраты на исправление своих ошибок самостоятельно.
Вы можете развернуть приложение с помощью служб Reporting Services, включив 3 файла DLL. Это огромное преимущество. (Примечание - вам необходимо получить один из 3 файлов DLL из GAC.)
С Crystal Reports вам необходимо установить среду выполнения на каждый компьютер, на котором будет запускаться приложение (веб-сайт или клиентское приложение).
Службы Reporting Services имеют все функции, которые нужны большинству людей, и их развертывание НАМНОГО проще. Я никогда не буду использовать Crystal Reports без необходимости.
Поскольку эта ветка снова открылась, я добавлю свои два цента. Пришлось использовать Crystal около трех лет в версии 7 и 8 дней. Я ненавидел каждую минуту этого. Я видел немного новых версий, но они мне все еще не нравятся.
Мне это так не нравится, что мне больно говорить об этом: по моему опыту, Crystal лучше подходит для сложных отчетов, чем SSRS. Мы с коллегой отчаянно пытались заставить умеренно сложный макет отчета работать в SSRS и сдались. Мое впечатление о продукте - просто мое мнение, заметьте - это то, что он не совсем готов для прайм-тайма.
Кристалл заставит вас возненавидеть свою жизнь и искать другую работу, но есть причина, по которой это так широко распространено: это работает.
По моему опыту, службы Reporting Services намного лучше. Это лучшая среда, но лучше всего соединения (источники данных) отделены от отчета и могут использоваться совместно. Это значительно упрощает развертывание между средами.
Я использовал оба, я добавлю пару моментов к тому, что уже было сказано:
Для простых вещей я бы рекомендовал SSRS по умолчанию. Кристалл немного раздутый и необычный.
Crystal может легко экспортировать в формат MS Word (.doc). По моему опыту, клиенты часто этого хотят.
Если форматирование важно, Crystal может быть лучше. Например, отчеты SSRS не могут содержать более одного типа текста в одном текстовом поле. Это означает, что у вас не может быть, скажем, комментария в верхней части отчета, имеющего курсив и обычный текст. Кристалл может это сделать:
Примечание. Этот отчет содержит данные с даты начала до даты окончания, включая эти даты.
SRSS не может (без нескольких перекрывающихся текстовых полей). Однажды мне дали текстовый документ на 20 страниц, который нужно преобразовать в отчет с данными для дюжины графиков и таблиц в нем. Я начал с SSRS, но понял, что в Crystal я могу просто скопировать и вставить жестко закодированные фрагменты отчета прямо из Word, с цветными заголовками и всем остальным, и сэкономить дни работы. Так что во многих отношениях у Crystal действительно есть лучший «дизайнер».
Обновление:
очевидно, обе эти проблемы были исправлены в текущем SRSS. Кто-нибудь хочет прокомментировать это дальше?
я согласен с @Carlton частично по причинам, которые он описывает. Я также считаю, что службы отчетов - это более зрелый продукт (хотя Crystal Reports существует уже дольше). Модель «Тестирование и развертывание» довольно проста, а встроенная возможность отслеживать использование отчетов очень полезна.
Я также считаю, что создавать отчеты в службах Reporting Services намного проще - Microsoft научилась создавать хорошую IDE, тогда как Crystal IDE всегда казалась запоздалой мыслью (хотя это лучше, чем послед, каким он был раньше) .
Изменить: дополнительные мысли. Я также думаю, что в магазине Windows SSRS предлагает всевозможные приятные интеграции с ОС и SQL Server. Вы можете довольно легко положиться на сборки SQL для повторного использования встроенного кода в SSRS, а интеграция с моделью безопасности Active Directory очень упрощает защиту ваших отчетов.
Блин ... у моей компании ооочень много отчетов о кристаллах ... и у компании до этого тоже было много. С версии 8.5 до 11.5. Они как бы уже въехали в дверь, так сказать. Я думаю, что CrystalReportViewer - парящая чушь, но он действительно работает (по большей части).
Прочитав некоторые из этих ответов, я перехожу на SSRS для своего следующего проекта отчетности! Надпись на стене ... MS отбросит Crystal из VS и заменит SSRS. Единственное, что будет отстой, - это когда MS начнет заряжать его.
РЕДАКТИРОВАТЬ: возиться с SSRS сегодня, и это выглядит довольно многообещающим. Я должен сказать, что дизайнеру нужно немного привыкнуть к ... CR Designer превосходит его по простоте использования. Вы можете сказать, что это предназначено для программистов, тогда как CR ориентирован на дизайнеров отчетов.
EDIT2: SSRS действительно не соответствует моим требованиям к отчетности. Создание отчетов - отстой, когда вы хотите предварительно просмотреть, а для автономного запроса параметров нет. Есть ли лучший способ создать их ... желательно не в VS?
Вы думали об альтернативе? Если вы хотите использовать функции Crystal Reports, но не хотите платить за это так много, вы можете взглянуть на Crystal-Clear, инструмент отчетности на основе Java, поддерживающий также шаблоны Crystal Reports. Он поставляется с графическим интерфейсом пользователя, и источники данных также настраиваются для каждой системы. (Почти как ODBC, вы просто задаете имя для соединения, и соединение настраивается в системе.)
Интересно, почему никто не упомянул об одной большой проблеме с CR - о том, что он просто не работает в системе управления версиями или в командной среде. Поправьте меня, если я ошибаюсь, но я действительно очень внимательно искал какие-либо инструменты для отчетов. Есть один (выпущенный около года назад), но он просто не работает - не потому, что он плохой, а (я думаю) потому, что CR просто не раскрывает структуру отчета правильно или что-то в этом роде ... Я попытался экспортировать .rpt в XML, но это неуклюже и неправильно. Я даже попытался написать свой собственный компаратор .rpt.
Дело не только в развитии команды; даже если есть один разработчик, поддерживать версии отчетов - кошмар, и если ваш клиент решил добавить несколько вещей или изменить несколько цветов, вы теперь прокляты отслеживать каждое текстовое поле, поскольку нет абсолютно никакого способа узнать изменения.
Формат RDL намного более чистый и открытый. И это может быть довольно большим преимуществом.
Я использовал и то, и другое годами. Crystal Reports требует слишком больших затрат, и я стараюсь использовать SSRS, когда это возможно. Однако SSRS не поддерживает firefox или любой другой браузер, только IE, это проблема. Отчеты в Crystal выглядят лучше, а экспорт - более мощным, пользователям нужен хороший экспорт в Word. Если вы программист на Java, я бы использовал Jasper Reports, он бесплатный и использует язык Java для функций.
Я использовал оба (Crystal Reports 2008 и SSRS 2008), потому что вовремя не заметил эту ветку.
Помимо настройки, которая была немного проще с CR, я не заметил ни одной функции, где CR хотя бы на одном уровне с SSRS. Да, Crystal Reports действительно настолько плох.
На мой взгляд, самая худшая часть CR - это IDE. Но есть и другие убийственные особенности, такие как низкая производительность SQL и ужасно выглядящие графики (по крайней мере, в версии CR, которая идет с VS 2008), которые также являются заметными «убийственными» функциями.
Я работал как с CR, так и с SSRS, и вот что я нашел.
Crystal Reports работает в собственной памяти, а SSRS - в ограниченной памяти SQL Server.
Хрустальный отчет слишком дорог. Недавно они снизили цену до 250 долларов, я думаю, в ответ на выпуск SSRS 2008.
SSRS бесплатен.
Самая главная причина успеха Crystal Report:
Вы можете создавать 80% отчетов в проекте с помощью SSRS. Но для оставшихся 20% вам придется использовать другой инструмент отчетности. Эти 20% -ные отчеты используются не кем иным, как руководителями высшего звена, директорами и генеральным директором. Их требования никогда не могут быть нарушены, и CR отлично справляется с этой задачей.
Отчет Crystal по-прежнему основан на COM. что является болью в заднице.
В отчете Crystal нет недостатка в возможностях или функциях. Это рабочая лошадка SAP. Но многие его классы защищены и не предоставляют доступ программистам. Это сделано намеренно. Сотрудники SAP настолько жадны, что хотят держать под контролем каждую функцию и взимать дополнительные деньги за предоставление разработчикам приложений и объектов по специальной лицензии. Просто отлаживайте и быстро смотрите объект ReportDocument в VS, вы будете знать, несмотря на все, что доступно в объекте, вы вряд ли сможете использовать их в своем коде !!
Что касается проблем с графическим интерфейсом пользователя и CSS, то ожидание COM-объекта, который предназначен для точной печати, правильная визуализация в каждом браузере является спорным вопросом, поскольку даже простой div отображается по-разному в разных браузерах.
Я работаю с отчетами Crystal с 7 лет и все время ругаюсь, активно исследуя все другие альтернативы. Но я еще не встречал чего-то столь же гибкого, как Cystal Report. Для большей части работы SSRS хорош. Но для панелей мониторинга, сложных отчетов с вложенными отчетами, балансовых отчетов, пробных балансов я никогда не буду тратить свое время на SSRS.
Просто попробуйте поискать Google Trend в Crystal Report. За последние 6 лет он неуклонно снижается. конечно, будущее CR не выглядит хорошим.
Но эй ! MS, SAP и ORACLE по-прежнему поддерживают Crystal Report как основу своих приложений !! и ни один продукт BI не бывает дешевым.
Я чувствую себя марсианином, имеющим обширный и положительный (но иногда сложный) опыт работы с Crystal Reports, который теперь полностью интегрирован в наш пользовательский интерфейс (VBA), где запрашиваемые параметры отчетов и фильтры прозрачно наследуются из пользовательского интерфейса ...
Если вы рассматриваете SSRS и обеспокоены тем фактом, что он «бесплатный», но вам нужно либо купить дополнительную лицензию SQL Server, либо распространять SQL Express, то вас могут заинтересовать отчеты о динамике данных.
Он предлагает все, что есть в SSRS, и добавляет основные отчеты, темы, область данных календаря, визуализацию данных (панель данных, Sparkline, Iconset, ColorScale, ...), полную объектную модель для максимальной гибкости программирования, бесплатный дизайнер отчетов для конечных пользователей, штрих-код элемент отчета, экспорт шаблонов Excel, объединение данных и многое другое. Вы можете загрузить пробную версию от Data Dynamics (теперь GrapeCity) и попробовать ее с несколькими отчетами, вы не будете разочарованы.
Я работал с обоими сейчас и видел их бок о бок. Кристалл был хорошим, но дорогим на протяжении многих лет. Это неуклюже, но мы привыкли к нему и знакомы с интерфейсом. Я не работаю в среде LAMP, этот дом работает с MS Dynamics и MAS с некоторыми довольно крупными клиентами.
Мне нравится не беспокоиться об установке клиента для SSRS. Распространение намного проще, и совместное использование источников данных и моделей отчетов работает хорошо.
Что касается broweser, я видел отлично отрисованные датчики SSRS 2008 в Firefox. Я без проблем экспортировал эти датчики в Excel. Я развернул отчеты с MOSS и без него на телефоны. Возможность использовать проверку подлинности Windows как для развертывания отчетов, так и для их скрытия просто фантастическая. Объект просмотра отчетов в VS 2005 и более поздних версиях очень хорош.
Народ, обратитесь к той версии, о которой вы говорите!
Например, встроенная в VS2008 бесплатная система отчетов RDLC (такая же, как SQL Server 2005 Reporting Services) не поддерживает поля привязки в верхнем и нижнем колонтитулах , и это основная функция!
Теперь я конвертирую огромный отчет из VS2008 Reporting / RDLC 2005 в Crystal Report 2008 Basic (который поставляется с VS2008), потому что в нем нет этой базовой функции.
Я уверен, что Reporting Services 2.0 / RDLC 2008 (который поставляется с Visual Studio 2010) и, что еще лучше, новейшие Reporting Services 3.0 / RDLC 2010 ( который поставляется БЕСПЛАТНО в SQL Server 2008 R2 Express с расширенными службами) ) являются лучшими решениями SSRS.
SQL Server R2 Express с расширенными службами (БЕСПЛАТНО) http://www.microsoft.com/express/Database/InstallOptions.aspx
Прямо сейчас я делаю Proof of Concept for Reporting Services 3.0 / RDLC 2010 и опубликую результаты.
Службы Reporting Services (SSRS / RDLC) всегда проще в использовании, но за простоту приходится платить. Для простых отчетов всегда выбирайте SSRS / RDLC. Для сложных отчетов с основными подробностями, контролем страниц и т. Д., Пожалуйста, сделайте PoC этих сценариев с новейшими версиями SSRS / RDLC (2008,2010), а также с Crystal Reports.
Для тех, кто сравнивает старую версию Crystal Reports XI и Reporting Service 1.0, см. Эту публикацию 2005 года:
Службы отчетов SQL Server и Crystal Reports: анализ конкуренции http://www.crystalreportsbook.com/SSRSandCR_Conclusion.asp