2013-07-29 1 views
0

Я новичок в отчетности в asp.net и не могу заставить все работать хорошо для меня. В принципе, я сделал демонстрацию того, что было сказано here. Все работало нормально, и он сгенерировал отчет о моей локальной системе. Но он не работал на веб-сервере.ASP.NET отчетности, что, как и когда использовать RDLC

Теперь у меня есть путаница: Есть 2 режима отчетности в asp.net [VS 2010 - .NET 4.0], Локальный режим и режим сервера. Локальный режим имеет расширение RDLC, а в режиме сервера RDL является расширением для файла проекта отчета, и для него требуется поддержка отчетов Sql Server, для которых, с другой стороны, RDLC выполняется на клиентской машине [это может выглядеть глупым вопросом, но , это моя машина или мой компьютер, а не веб-сервер, означает, что я не могу развернуть и использовать его на веб-сервере].

Основой путаницы является то, что я загрузил один и тот же демонстрационный проект на своем веб-хостинге и запустил его. Элемент управления Viewer отчета отлично показывался, и все выглядело хорошо, но фактический отчет, который должен был отображаться, отсутствовал ниже панели инструментов View Viewer. Но в то же время я смог полностью загрузить формат отчета PDF, XLS и DOC с фактическими строками и столбцами, которые показывают, что отчет сгенерирован (гистограмма также была включена в дизайн rdlc, и он также сгенерирован). Я предполагаю, что это связано с тем, что на веб-сервере не были установлены библиотеки Report Viewer, и он не знал, как визуализировать RDLC-файл.

Итак, вот актуальные вопросы:

Я правильно в мышлении, что отчет может быть сформирован на веб-сервере, если у вас есть RDLC как формат файла отчета Или я должен использовать RDL вместо?

Если я разверну свое приложение с RDLC (локальным отчетом), на веб-сервере , будет ли он работать нормально? Возможно ли установить или получить средство просмотра отчетов, установленное на веб-сервере.

И когда я должен использовать RDLC и RDL, а когда нет. Предыдущий вопрос When to use RDLC over RDL reports?., Но я ищу более простое объяснение в моем сценарии.

ответ

1

Форматы RDL и RDLC имеют одну и ту же схему XML. Однако в файлах RDLC некоторым значениям (таким как текст запроса) разрешено быть пустым, а это значит, что они не готовы к публикации на сервере отчетов. Пропущенные значения можно ввести, открыв файл RDLC, используя версию конструктора отчетов SQL Server 2008. (Вы должны переименовать .rdlc в .rdl.)

Файлы RDL полностью совместимы с runtime контроля ReportViewer. Однако файлы RDL не содержат информации, зависящей от времени разработки элемента управления ReportViewer, для автоматического создания кода привязки данных. С помощью привязки вручную данные RDL-файлов могут использоваться в элементе управления ReportViewer.

Примечание: элемент управления ReportViewer не содержит никакой логики для подключения к базам данных или выполнения запросов. Разделив такую ​​логику, ReportViewer был совместим со всеми источниками данных, включая источники данных, отличные от базы данных. Однако это означает, что когда RDL-файл используется элементом управления ReportViewer, связанная с SQL информация в RDL-файле просто игнорируется элементом управления. Обязанность хост-приложения заключается в подключении к базам данных, выполнении запросов и предоставлении данных в элементе управления ReportViewer в виде ADO.NET DataTables.

Ссылка: http://forums.asp.net/t/1173578.aspx/1

Также проверьте: http://dinesql.blogspot.com/2010/11/reporting-services-difference-between.html

1

RDLC


  1. его стороне клиента отчеты, отчеты поставляются с приложениями, такими как окна приложения или веб-приложение.
  2. Ограниченная функциональность с точки зрения форматов, в которых отчет мог быть экспортирован.
  3. Обработка и рендеринг отчета обрабатывает адресное пространство приложения, в котором размещаются отчеты, это могут быть окна или веб-страницы. Это может вызвать проблемы с производительностью, если вы часто отправляете огромные отчеты.
  4. Это не требует отдельного экземпляра SQL или лицензии.

RDL


  1. Это на стороне сервера отчетов, отчеты обрабатываются на специальном серверном процессе под названием службы и вывода SQL Reporting Services' подается к приложениям или конечным пользователям.
  2. Отчеты сервера предназначены для выполнения и масштабирования.
  3. Выполняется как отдельный процесс/служба и требует лицензии SQL.
  4. Предоставляет экспорт в несколько форматов, недоступных в RDLC
  5. Отчетность сервера является расширяемым продуктом. Вы можете включить собственную обработку данных, безопасность или расширения доставки.
  6. Он поддерживает автоматическую доставку электронной почты и доставку файлов с помощью подписки из коробки.

Резюме


  1. Рассмотрим на стороне клиента отчетов (RDLC), если вы собираетесь использовать простые и меньшие отчеты не очень часто.
  2. Рассмотрите (rdl), если вы хотите настроить выделенный и центральный сервис для удовлетворения требований к отчетности для различных пользователей приложений. Это можно было бы расширить, контролировать, оптимизировать и масштабировать по требованию.

 Смежные вопросы

  • Нет связанных вопросов^_^