终端用户自助报告工具:Microsoft SQL Server Management Studio还是Microsoft Access?

4
我们的中央IT部门为我们大约200名员工的一般用户群体建议了两种主要的即席查询工具:
  1. Microsoft SQL Server Management Studio 2008(SSMS)
  2. Microsoft Access 2003
环境
  • 后端数据库是一个只读的Microsoft SQL Server 2005数据库。
  • 模式是400多个表;允许普通员工访问原始数据将是一场灾难。
  • 我们将为普通员工构建一个“抽象层”,以运行即席查询。
  • 抽象层可能包含多个视图。
  • 一些用户具有Microsoft Access的基本知识;没有人使用过SSMS。
以上工具(或替代方案),哪一种最适合拥有大约200人的明显非技术用户群体?每种工具的优缺点是什么?
此外,IT部门建议教授人们T-SQL,以便他们可以使用SSMS。这个建议合理吗?

他们会用它来做什么?这很可能决定你需要走的方向。 - David-W-Fenton
此外,IT部门建议教授人们T-SQL,以便他们可以使用SSMS。这个建议合理吗?我怀疑即使是高级用户也不会想要了解那么详细的内容。我的高级用户习惯于在Access中使用拖放功能创建和运行自己的查询。我非常怀疑他们曾经使用过SQL设计视图。但是他们也没有必要这样做。 - Tony Toews
9个回答

6
这个怎么样?i-net Clear Reports(之前被称为i-net Crystal-Clear)具有强大的自由报表组件,旨在为非技术用户提供易于使用的工具。您的用户不需要了解任何关于报表的知识。他们只需选择报表类型和数据,就会生成适合需求的报表。
通过创建所谓的数据视图,可以轻松地进行数据抽象,这些数据视图可以由您的管理员等人员设计。有多种方式可以访问自由报表GUI。我们有Web GUI、Java Applet或独立的Java程序。
  • 终端用户不需要接受任何培训,因为GUI非常直观。
  • 视图可以轻松地通过拖放来构建,并设置数据类型、格式等。
  • 所有报告(取决于安全设置)都可以通过DAV或报告存储库GUI访问。
  • 服务器支持每个用户或每个组基础上的不同安全设置。
  • 独立的报表设计器是免费且功能齐全的。
披露:是的,我在建造这家公司。

5
您的“抽象层”是处理Access时应采取的正确方法。创建一个包含所需基本视图的MDB,并将其链接到用户中,让他们根据需要在自己的MDB中创建新的查询和报告。现在,如何阻止他们在具有100万条记录或更多记录的表上运行笛卡尔积,我不太确定。

谢谢Tony。 :) 要考虑的一个很好的观点。我们最大的表目前可能有10万条记录,但我们仍然处于实施过程中,所以这个数字可能最终会达到一百万或更多。 - iokevins
+1 如果您想让用户能够自己创建查询,那么使用Access MDB是一个不错的选择。 - Dale

3

2

试图教授“非技术人员”使用T-SQL查询包含400多个表的模式可能不会很成功,除非他们仅限于查询视图,并且这些视图隐藏了各种连接、分组等繁琐复杂性。

我们公司曾经处于类似的情况,早期使用Access,然后我们将所有人都切换到使用T-SQL和SSMS。在我看来,这是你想要采取的方法。

然而,这一切的成功将取决于你提供给终端用户的视图或者最好的报告的质量。

Randy


谢谢Randy。在SSMS中有没有一种方法可以仅限于查看视图?我知道在Microsoft Access中,我可以使用数据库链接到后端数据库对象(例如视图)来隐藏400多个表格,以防止最终用户访问。在SSMS中怎么样? - iokevins
1
很抱歉,我不知道。但我猜您可以通过权限隐藏表,但我对SQL Server安全性不是很熟悉。 - Randy Minder
作为 SQL Server 安全的一部分,用户将无法看到被拒绝所有权限的表。 - JeffO

1

我建议您研究一下类似Stonefieldquery.com这样的工具,它专为非开发人员设计用于构建报告。虽然Access中的报告编写器或查询生成器并不差,但可能会过于复杂。我认为他们还提供了一种集中报告和查询的方式,可以共享使用。多个人无法打开单个Access文件并创建报表(我认为查询生成是可行的)。

大多数人将使用拖放功能,但约5-10%的人会需要SQL,然后您可以利用这个“可教授的时刻”来给他们一些培训。


谢谢GuinnessFan。 :) 对于普通用户和高级用户的比例非常有见地。我的直觉告诉我这似乎是正确的。对于80%以上的普通用户,我们需要一些可以相对容易地推出的东西。我最担心的是在普通用户中使用SSMS时会遇到什么问题。在我的IT角色中,我经常使用它。 - iokevins
我曾在一家公司工作,那里的会计师们几乎所有事情都使用SSMS和Excel。他们都参加过这两个软件的课程。但是当他们被要求使用报告编写软件时,他们并不喜欢,因为:a)他们更喜欢文本SQL,而该应用程序中的文本版本很糟糕(类似于Access)。b)他们不知道如何利用此应用程序的共享和可重用性。在他们看来,每件事情都是独特的、一次性的、临时的等等,非常有领土意识。 - JeffO

1

使用Access的缺点肯定是成本;假设您已经为SQL服务器获得了适当的许可,那么SSMS应该是免费的。

根据实际需求,一些用户可能实际上更适合使用Crystal Reports(从未想过我会这样说),或Reporting Services。


感谢SqlACID。:) SSRS和Report Builder是我的首选,但IT和业务管理选择了这种策略。所有200名员工都安装了Microsoft Access 2003的用户基础,因此成本希望不会成为问题。 - iokevins

1

您可以创建一系列的SQL Server分析立方体,并让用户使用Excel连接到这些立方体,以便他们可以使用Excel的数据透视表。


谢谢Thirster42! :) 我没有考虑过这个选项。这种方法会有什么缺点? - iokevins
主要是维护。您需要创建足够的立方体来覆盖他们想要的内容(或者只需将所有400个放入一个立方体中)。还有安全性。 - DForck42
此外,在报告服务中,您可以设置数据集,让用户在报告管理器内创建自己的报告。 - DForck42

0

检查SQLS*Plus-http://www.sqlsplus.com

我发现SQLS*Plus是一种非常有效的命令行SQL服务器报告工具-这是一个免费的工具(供个人使用),可以让我生成带有标题,头部的报告,以HTML和CSV格式格式化列中的自定义掩码,设置报告长度,页面大小等。据我了解,它与非常著名的Oracle SQL*Plus报告工具非常相似


0
作为一个对于即席报告比较新手的人,我使用了Izenda.com的即席报告功能。这个工具非常直观易用,我可以自己完成任务而不需要外包。

这是一篇旧帖子,但由于它将被作为参考查阅,因此即使在此之后添加您的经验也是有意义的。谢谢。 - user783388

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接