使用客户端报告与服务器端报告?

时间:2008-09-26 02:33:46

标签: sql-server reporting-services reporting

我们何时使用客户端报告以及何时使用服务器端报告?

哪种报告是最佳做法(客户端/服务器)?

这与SSRS报告有关。

4 个答案:

答案 0 :(得分:3)

嗯......客户端报告您使用的是如果您有类似winforms客户端的东西,您无法保证可以持续访问数据源。它可能在客户端缓存了一组数据,即使与服务器的连接不可用,也需要报告这些数据。

服务器端报告您在需要简化报告分发和部署的方案中使用,因为您只需将报告部署到一个地方,每个人都可以访问它们。这总是要求连接可用于服务器

答案 1 :(得分:2)

当客户端从不同的来源收集数据时,客户端报告也很方便。我们有一个内部企业应用程序,它调用内部服务以从财务数据和我们单独的生产数据库中获取数据,并将它们组合成一个数据集,并将其传递给ReportViewer控件。

从美学的角度来看,将报告集成到应用程序中是很好的,这样用户就不会觉得他们会离开应用程序来打印或导出应用程序的数据。

答案 2 :(得分:1)

客户网站报告

如果满足以下条件之一,则应使用客户端站点报告:

  • 如果您的数据仅在客户端上,而不在网络中或服务器上。这主要适用于桌面应用程序。
  • 没有服务器(家庭系统)。

服务器网站报告

如果满足下列条件之一,则应使用服务器站点报告:

  • 数据位于服务器上或网络中的静态位置。
  • 您只有瘦客户端。
  • 应安排报告。
  • 单个服务器的许可证成本低于许多桌面安装的许可证成本。
  • 报告模板是共享的,可以经常更改。

答案 3 :(得分:0)

在这种情况下,这取决于你所谓的“服务器”。在您提到SSRS时,我假设您将数据库(SQL Server)视为服务器。

这一切都取决于应用/项目结构和要求。如果您的数据库还包含业务逻辑(存储过程),并且您只是想查询数据并显示/导出它,那么SSRS就很方便。

但是,如果您的持久层(数据库)的Web应用程序只存储信息并确保信息一致,那么您的业务逻辑就是在Web API(即:RESTful API项目)中查询/维护数据库数据(CRUD)并添加一些逻辑然后响应HTTP请求,并将请求的结果/信息(即:使用JSON)提供给丰富的前端,然后我将在客户端添加报告功能(前端)例如,在浏览器中执行的Javascript库能够以任何方式显示检索到的数据,它能够将其导出到DOC,Excel,Email it等。

分离典型Web应用程序的问题:

  • 持久层(数据库)来存储信息并保证一致性
  • 业务层(后端RESTful API),可以对每个HTTP请求的资源,计算,身份验证和授权执行所有智能操作。
  • 丰富的前端(Javascript + HTML + CSS)与用户交互并向后端请求/显示信息。 作为显示信息的关注的一部分,此前端也会生成报告。