З мого досвіду можна подумати над обома речами:
I. Звіти RDL - це звіти HOSTED. Це означає, що вам потрібно впровадити SSRS-сервер. Вони є вбудованим розширенням Visual Studio від SQL Server для мови звітування. Під час встановлення SSRS вам слід мати додаток під назвою "Студія розвитку бізнес-аналітики", що працювати зі звітами набагато простіше, ніж без нього.
Р епорт
D закінчення
L angauge
Переваги звітів RDL:
- Ви можете розміщувати звіти в середовищі, де на них працюють служби.
- Ви можете налаштувати безпеку на елементі або рівні спадкування, щоб обробляти безпеку як окрему концепцію
- Ви можете налаштувати службу для надсилання електронних листів (за умови, що у вас є SMTP-сервер, до якого ви маєте доступ) та зберігати файли за розкладом
- У вас є база даних, яка зазвичай називається "ReportServer", і ви можете запитувати інформацію про опубліковані звіти.
- Ви можете отримати доступ до цих звітів, як і раніше, через "ReportViewer" у клієнтській програмі, написаній на ASP.NET, WPF (з відміткою керування Winform!) Або Winforms в .NET, використовуючи "ProcessingMode.Remote".
- Ви можете встановити параметри, які користувач може бачити та використовувати для отримання більшої гнучкості.
- Ви можете налаштувати частини звіту, які будуть використовуватися для рядків з'єднання як "Джерела даних", а також sql-запиту, xml або інших наборів даних як "Набір даних". Ці частини та інші можна регулярно зберігати та конфігурувати для кешування даних.
- Ви можете записати .NET проксі-класи служб http: // / ReportServer / ReportingService2010 або / ReportExecution2005. Потім ви можете створити свої власні методи у .NET для надсилання електронної пошти, збереження чи маніпулювання даними SSRS із служби безпосередньо сервера, що розміщує звіти SSRS у коді.
Програмно експортувати звіт SSRS з точки огляду, використовуючи ReportService2010.asmx
Недоліки:
- SSRS - це різновид winkey порівняно з іншими речами, коли швидко вставати. Більшість людей плутають політику безпеки та розробляють звіти як "доповнення" до VS. SQL 2005 = VS BIDS 2005, SQL 2008 = VS BIDS 2008, SQL 2012 = VS BIDS 2010 (LOL).
- Продовжуючи 1, політика щодо налаштувань безпеки IMHO ідіотично перевиконана. На сторінці розміщена безпека сервера, захист бази даних та ролі, два параметри безпеки. Більшість людей налаштовують лише адміністратора, ніж не можуть зайти, і дивуються, чому інші користувачі не можуть. Найпоширеніша скарга чи запитання щодо SSRS пов'язані із тим, що я, як правило, звертаюся зі свого досвіду.
- Ви можете використовувати "вирази", які, мабуть, "покращать" ваш звіт. Часто ви робите більше декількох, і ваш звіт приходить до сканування продуктивності.
- У вас є певна кількість речей, які ви можете зробити та експортувати. У SSRS немає наведення курсора на звітування, про яке я знаю, без злому javascript.
- Швидкість і продуктивність можуть вразити, коли дурна конфігурація SSRS переробляє систему, і перший звіт може зайняти деякий час, просто завантажуючи сайт. Ви можете подолати це, змінивши його, але я знайшов, щоб зробити підтримку в живих, щоб вона працювала краще.
II. Звіти RDLC - це звіти, які містять КЛІЄНТ, які НЕ БУДЬ БУДІТЬСЯ. Додатковий c у назві означає "Клієнт". Як правило, це розширення мови RDL, призначеного для використання лише у клієнтських додатках Visual Studio. Він існує у Visual Studio, коли ви додаєте елемент "звітування".
Переваги звітів RDLC:
- Ви можете підключити послугу wcf набагато набагато простіше до набору даних.
- Ви маєте більше контролю над набором даних і можете використовувати класи POCO, заповнені об'єктами Entity Framework або ADO.NET безпосередньо, а також самими таблицями. Ви можете мавпати з даними для їх оптимізації перед прив’язкою до звіту.
- Ви можете налаштувати зовнішній вигляд, додавши до нього прямо в коді позаду.
Недоліки:
- Вам потрібно обробляти параметри самостійно, і тоді як ви можете реалізувати методи обгортки, щоб допомогти обробці нігтів - трохи більше, ніж очікувалося і прикро.
- Користувач не може бачити параметри в контролі "ReportViewer", якщо він не знаходиться у віддаленому режимі та не має доступу до звіту RLD. Таким чином, вам потрібно зробити текстові поля, спадні місця, радіо кнопки самостійно поза контролем, щоб перейти до нього. Деяким людям це додало контролю, я не особисто.
- Все, що ви хочете зробити із обслуговування звітів для розповсюдження, вам потрібно створити самостійно. Електронна пошта, підписки, економія. Вибачте, що вам потрібно створити це в .NET або ж іншим чином реалізувати проксі-сервер, який вже робить це зверху, ви можете просто використовувати розміщені звіти.
Чесно кажучи, я люблю обидва для різних цілей. Якщо я хочу щось вийти аналітикам, що вони весь час використовують і налаштовують на графіки, діаграми, скорочення та експорт до Excel, я використовую RDL і просто на сайті SSRS виконується вся робота з обробки електронних розсилок. Якщо я хочу, щоб програма, в якій є розділ звітів, і знаю, що програма - це власний модуль з правилами та управлінням, я використовую RDLC, параметри якого мають бути меншими, і керуються рішеннями, прийнятими користувачем, перш ніж потрапити на частину звіту клієнта, на якому вони є і на сайті, і тоді вони зазвичай просто вибирають часові рамки або тип і нічого більше. Таким чином, як правило, складний звіт я б використовував RDL, а для чогось простого я використовував би RDLC IMHO.
Я сподіваюся, що це допомагає.
List<T>
зMyEntity
) як джерело для віддалених звітів ( RDL ), а не RDLC ?