【发布时间】:2008-09-26 02:33:45
【问题描述】:
我们什么时候使用客户端报告,什么时候使用服务器端报告?
哪种报告是最佳做法(客户端/服务器)?
这与 SSRS 报告有关。
【问题讨论】:
标签: sql-server reporting-services reporting
我们什么时候使用客户端报告,什么时候使用服务器端报告?
哪种报告是最佳做法(客户端/服务器)?
这与 SSRS 报告有关。
【问题讨论】:
标签: sql-server reporting-services reporting
嗯...如果您有类似 winforms 客户端的东西,但您无法保证能够持续访问数据源,您会使用客户端报告。它可能在客户端缓存了一组数据,即使与服务器的连接不可用,您也需要报告这些数据。
您将在需要简化报告分发和部署的场景中使用服务器端报告,因为您只需将报告部署到一个地方并且每个人都可以访问它们。这样做的缺点是始终要求服务器可以使用连接
【讨论】:
当您的客户从不同的来源收集数据时,客户端报告也很方便。我们有一个内部公司应用程序,它调用内部服务从财务和我们单独的生产数据库中获取数据,并将它们组合成一个数据集,然后传递给 ReportViewer 控件。
从美学的角度来看,将报告集成到应用程序中是很好的,这样用户就不会觉得他们正在离开应用程序来打印或导出应用程序的数据。
【讨论】:
客户网站报告
如果以下情况之一为真,那么您应该使用客户端站点报告:
服务器站点报告
如果满足以下条件之一,那么您应该使用服务器站点报告:
【讨论】:
在这种情况下,这取决于您所说的“服务器”。正如您提到的 SSRS,我假设您将数据库(SQL Server)视为服务器。
这完全取决于应用程序/项目结构和要求。如果您有一个还包含业务逻辑(存储过程)的数据库,并且您只想查询数据并显示/导出它,那么 SSRS 很方便。
但是,如果您有一个带有持久层(数据库)的 Web 应用程序,它只是存储信息并确保信息是一致的,但是您的业务逻辑例如在查询的 Web API(即:RESTful API 项目)中/维护数据库数据(CRUD)并添加一些逻辑,然后将请求的结果/信息(即:使用JSON)响应HTTP请求到丰富的前端,然后我将在客户端(前端)添加报告功能) 例如,在浏览器中执行的 Javascript 库能够以任何方式显示检索到的数据,它能够将其导出到 DOC、Excel、电子邮件等。
典型 Web 应用程序的关注点分离:
【讨论】: