Який із 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 розміщується в середовищі Visual Studio IDE. Він привабливо представлений у типовому стилі 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 - це її розгортання, вбудовані сповіщення, кешування та конфігурація, але відсутність інтерфейсу для перемоги.
ПОВНІСТЬ полягає в тому, що я бачив, як SSRS розчаровує вас лише через невідповідність команди підтримки Microsoft, коли вони повинні сказати "вибачте! не зараз 'через місяць. У SSRS 2008 також не виправлено багатьох із цих проблем. Більше того, перехід на SSRS '08 означає повну міграцію фонових платформ. Маючи на увазі рівняння, чим більше ви використовуєте програмне забезпечення, тим більше воно з часом дозріває, Crystal, у будь-якому разі, стає набагато кращим вибором, оскільки SSRS незабаром накопичує витрати на виправлення своїх помилок самим собою.
Ви можете розгорнути програму за допомогою служб звітування, включивши 3 файли DLL. Це величезна перевага. (Примітка - ви повинні отримати один із 3 файлів DLL із GAC.)
З Crystal Reports ви повинні встановити середовище виконання на кожній машині, на якій буде запущено додаток (веб-сайт або клієнтська програма).
Служби звітування мають усі функції, які потрібні більшості людей, і розгортання набагато легше. Я ніколи не буду користуватися Crystal Reports, якщо не потрібно.
Оскільки ця нитка знову відкрилася, я додаю свої два центи. Мені довелося користуватися Crystal близько трьох років протягом версій 7 і 8 днів. Я ненавидів кожну хвилину цього. Я бачив трохи новіших версій, і все ще не подобається.
Мені це так не подобається, що мені боляче сказати це: з мого досвіду, Crystal краще підходить, ніж SSRS, для складних звітів. Ми з колегою відчайдушно намагалися отримати помірно складний макет звіту для роботи в SSRS і відмовились. Моє враження від продукту - лише моя думка, зауважте - таке, що він ще не зовсім готовий до прайм-тайму.
Crystal змусить вас ненавидіти своє життя і шукати іншу роботу, але є причина, через яку вона настільки поширена: вона працює.
З мого досвіду служби звітування набагато кращі. Це краще середовище, але найкраще з усіх з’єднань (джерел даних) є окремими від звіту та ними можна обмінюватися. Це полегшує розгортання між середовищами.
Я використав обидва, додам пару пунктів до вже сказаного:
Для простих речей я б рекомендував SSRS за замовчуванням. Кристал трохи роздутий і вигадливий.
Crystal може легко експортувати у формат MS Word (.doc). За моїм досвідом, клієнти хочуть цього досить часто.
Якщо форматування важливо, Crystal може бути кращим. Наприклад, звіти SSRS не можуть містити більше одного типу тексту в одному текстовому полі. Це означає, що ви не можете мати, скажімо, коментар у верхній частині звіту з курсивом та звичайним текстом. Crystal може це зробити:
Примітка: Цей звіт містить дані від дати початку до дати закінчення, включаючи ці дати.
SRSS не може (без декількох перекриваються текстових полів). Одного разу мені передали 20-сторінковий word-документ, який я повинен був перетворити на звіт із даними для десятка графіків та таблиць. Я розпочав роботу з SSRS, але зрозумів, що в Crystal я можу просто скопіювати та вставити жорстко закодовані біти звіту прямо зі слова, з кольоровими заголовками та іншим, і заощадив дні роботи. Тож у Crystal є кращий "дизайнер" у багатьох відношеннях.
Оновлення:
очевидно, обидві ці проблеми були виправлені у поточному SRSS. Хтось хоче прокоментувати це далі?
Я погоджуюся з @Carlton частково з причин, які він описує. Я також вважаю, що послуги звітності є більш зрілим продуктом (хоча Crystal Reports існує довше). Модель тестування та розгортання досить серйозна, і вбудована можливість відстеження використання звітів дуже корисна.
Мені також набагато простіше розробляти звіти в службах звітування - Microsoft навчилася створювати хорошу IDE, тоді як Crystal IDE завжди здавався задумом (хоча це краще, ніж після народження, що було раніше) .
Редагувати: Додаткові думки Я також думаю, що в магазині Windows SSRS пропонує всілякі солодкі інтеграції з ОС та SQL Server. Ви можете покластися на збірки SQL для повторного використання вбудованого коду в SSRS, а інтеграція із моделлю безпеки Active Directory дуже легко захищає ваші звіти.
Чоловіче ... у моєї компанії дуже багато звітів про кристали ... і у компанії до цього теж було багато. З версії 8.5 до 11.5. Вони як би вже ступили ногою у двері, так би мовити. Я вважаю, що CrystalReportViewer - це гаряче лайно, але воно працює (здебільшого).
Прочитавши деякі з цих відповідей, я переходжу до SSRS для свого наступного звітного проекту! Напис на стіні ... MS викине Crystal з VS і замінить на SSRS. Єдине, що буде смоктати, це коли MS почне за це стягувати плату.
EDIT: Возитися з SSRS сьогодні, і це виглядає досить перспективно. Потрібно сказати, що дизайнер звикає ... CR Designer вирізняється простотою використання. Ви можете сказати, що це розроблено для програмістів, де, оскільки CR орієнтована на дизайнерів звітів.
EDIT2: SSRS справді не відповідає моїм потребам у звітності. Проектування звітів відмовляє, коли ви хочете здійснити попередній перегляд, а для автономних запитів параметрів немає. Чи є кращий спосіб їх розробити ... бажано не в VS?
Ви думали про альтернативу? Якщо ви хочете використовувати функції Crystal Reports, але не хочете за це платити стільки, ви можете поглянути на Crystal-Clear, який є інструментом звітування на основі Java, що також підтримує шаблони Crystal Reports. Він поставляється з графічним інтерфейсом, і джерела даних також можна налаштувати для кожної системи. (Майже як ODBC, ви просто встановлюєте ім'я для з'єднання, і з'єднання налаштовується в системі.)
Цікаво, чому ніхто не згадав про одну велику проблему з CR - це те, що вона просто не працює в контролі джерел або командному середовищі. Виправте мене, якщо я помиляюся, але я дійсно дуже напружено шукав будь-які інструменти різниці звітів. Є один (випущений приблизно рік тому), але він просто не працює - не тому, що він поганий, але (я здогадуюсь), тому що CR просто не виставляє структуру звіту правильно чи щось ... Я намагався експортувати .rpt до XML, але це незграбно і неправильно. Я навіть намагався написати власний порівняльник .rpt.
Справа не лише у розвитку команди; навіть якщо є один розробник, це кошмар підтримувати версії звітів, і якщо ваш клієнт вирішив додати кілька речей або змінити кілька кольорів, ви тепер прокляті відстежувати кожне окреме текстове поле, оскільки абсолютно неможливо дізнатися зміни.
Формат RDL набагато більш чистий і відкритий. І це може бути досить великою перевагою.
Я використовую обидва роки. Crystal повідомляє про занадто великі витрати, і я намагаюся використовувати 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.
Звіт Crystal занадто дорогий. Нещодавно вони знизили свою ціну до 250 доларів, як я думаю, у відповідь на випуск SSRS 2008.
SSRS безкоштовний.
Найбільша причина, чому процвітає звіт Crystal:
Ви можете створити 80% звітів у проекті за допомогою SSRS. Але для решти 20% вам доведеться використовувати інший інструмент звітування. Ці 20% звітів використовують не хто інший, як менеджери, директори та генеральний директор вищого рівня. Їх вимоги ніколи не можуть бути підірвані, і CR робить там чудову роботу.
Звіт Crystal все ще базується на COM. що є болем у **.
У звіті Crystal не бракує можливостей та функцій. Це робочий кінь SAP. Але багато його класів захищені і не надають доступу програмістам. Це за наміром. Люди SAP настільки жадібні, що хочуть тримати кожну функцію під контролем і вимагати додаткових статків за виставлення положень та предметів розробникам за спеціальною ліцензійною угодою. Просто налагоджуючи та швидко переглядаючи об’єкт ReportDocument у VS, ви дізнаєтесь, незважаючи на все наявне в об’єкті, навряд чи ви зможете використовувати їх у своєму коді !!
Що стосується проблем із графічним інтерфейсом та CSS, очікуючи, що об’єкт COM, призначений для точного друку, правильно відображати в кожному браузері є спірним питанням, оскільки навіть простий div відображається по-різному в різних браузерах.
Я працюю з звітами Crystal з 7 років і весь час проклинаю їх, активно досліджуючи всі інші альтернативи. Але я ще не зустрів щось настільки гнучке, як Cystal Report. Для основної роботи SSRS хороший. Але для інформаційних панелей, складних звітів з підзвітами, балансів, пробних залишків я ніколи не витрачаю свій час на РСЗБ.
Просто спробуйте пошук Google Trend у Crystal Report. Він неухильно зменшується з останніх 6 років. безумовно, майбутнє не виглядає добре для CR.
Але Гей! MS, SAP та ORACLE все ще підтримують Crystal Report в основі своїх програм !! і жоден продукт BI не є дешевим.
Я відчуваю себе марсіанцем, який має великий і позитивний (але іноді складний) досвід роботи з Crystal Reports, який тепер повністю інтегрований в наш користувальницький інтерфейс (VBA), де запитувані параметри звітів та фільтри прозоро успадковуються від користувальницького інтерфейсу ...
Якщо ви розглядаєте SSRS і стурбовані тим, що він "безкоштовний", але вам потрібно або придбати додаткову ліцензію SQL Server, або розповсюдити SQL Express, тоді вас можуть зацікавити звіти Dynamics Data
Він пропонує все, що є в SSRS, і додає основні звіти, теми, область даних календаря, візуалізацію даних (панель даних, Sparkline, Iconset, ColorScale, ...), повну об'єктну модель для максимальної гнучкості програмування, безкоштовний дизайнер звітів для кінцевих користувачів, штрих-код елемент звіту, експорт шаблону Excel та злиття даних та багато іншого. Ви можете завантажити пробну версію з Data Dynamics (тепер GrapeCity) і спробувати її за допомогою кількох звітів, і ви не будете розчаровані.
Зараз я працював з обома і бачив їх поруч. Кристал був хорошим, але витрачався протягом багатьох років. Це незграбно, але ми вже звикли до цього і знайомі з інтерфейсом. Я не працюю в середовищі LAMP, цей будинок працює з MS Dynamics та MAS з деякими досить великими клієнтами.
Мені подобається не турбуватися про встановлення клієнта для SSRS. Розподіл набагато простіший. Обмін джерелами даних та моделями звітів працює добре.
Що стосується браузера, я бачив у Firefox ідеально надані датчики SSRS 2008. Я експортував ці датчики в Excel без проблем. Я розгорнув звіти з і без MOSS на телефонах. Можливість використовувати автентифікацію Windows для розгортання звітів, а також їх приховування є фантастичною. Об’єкт засобу перегляду звітів у VS 2005 та пізніших версіях є чудовим.
Люди, будь ласка, зверніться до тієї версії, про яку ви говорите!
Наприклад, вбудована безкоштовна звітність RDLC VS2008 (така сама, як служби звітування SQL Server 2005) не підтримує поля прив’язки у верхньому та нижньому колонтитулі , і це основна функція!
Зараз я перетворюю величезний звіт з цього звіту VS2008 / 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
Зараз я роблю доказ концепції служб звітування 3.0 / RDLC 2010 і опублікую результати.
Послугами звітування (SSRS / RDLC) завжди легше працювати, але вони мають свою ціну. Для простих звітів завжди вибирайте SSRS / RDLC. Для складних звітів із головними деталями, керуванням сторінками тощо, будь ласка, складіть PoC цих сценаріїв із найновішими версіями SSRS / RDLC (2008,2010), а також із Crystal Reports.
Для тих, хто порівнює старі Crystal Reports XI та Reporting Service 1.0, перегляньте цю публікацію 2005 року:
Служби звітування SQL Server та звіти Crystal: аналіз конкурентоспроможності http://www.crystalreportsbook.com/SSRSandCR_Conclusion.asp