用户友好的工具,用于从SQL Server数据库中检索数据

时间:2010-10-06 14:59:20

标签: sql-server excel data-presentation

我们有几个SQL Server数据库,其中包含我们构建的生成器的测量值。但是,这些有用的数据仅供少数工程师访问,因为大多数人不熟悉SQL(包括我)。是否有任何工具可以让工程师提取所选数据子集,以便在Excel或其他环境中进行分析?

是理想的工具
  1. 保护数据库免受任何意外更改,
  2. 不需要SQL知识来提取数据,
  3. 非常易于使用,例如使用GUI来选择字段和所选的时间范围,
  4. 允许将数据值导出到可由Excel读取的文件中,
  5. 不需要数据库管理器的参与/输入来运行提取任务,
  6. 新手数据库管理员可以轻松设置。
  7. 感谢您提出任何建议或建议。

4 个答案:

答案 0 :(得分:3)

首先,我永远不会让用户在生产机器上运行自己的查询。他们可以整天运行表扫描或其他一些性能杀手。

我们有类似的情况,我们通常为用户“调用”创建自定义存储过程,并且只允许访问运行“几乎实时”数据的备份服务器。

我们的用户熟悉excel,因此我创建了一个存储过程,其中包含足够的参数用于过滤/自定义,他们可以通过以下方式轻松调用它:

EXEC YourProcedureName '01/01/2010','12/31/2010','Y',null,1234

我准确记录了参数的作用,并且它们通常很适合。

要设置Excel查询,您需要在用户的PC(控制面板 - 数据源 - odbc)上设置数据源,这些数据会因您的Windows版本而略有不同。

从excel中,您需要设置“查询”,这只是上面的EXEC命令。根据Excel的版本,它应该类似于:menu - data - import external data - new database query。然后选择数据源,连接,跳过表格图制作器并输入上面的SQL。另外,不要试图让一个程序做所有事情,根据他们的工作做出不同的程序。

一旦数据在Excel工作表上,我们的用户就会将其拉到其他工作表并随意操作。

有些用户有点高级并且“尝试”编写自己的SQL,但这很痛苦。我最终调试并修复了不正确的查询。此外,一旦你更正了查询,他们总是修补它并再次打破它。使用存储过程意味着它们无法更改它,我可以将它与我们在源代码存储库中的其他过程一起使用。

答案 1 :(得分:1)

我建议您在Excel中构建自己的。 Excel可以通过ODBC连接对SQL Server数据库进行查询。如果你做得对,最终用户只需点击“获取数据”按钮即可。然后,他们可以访问Excel的所有GUI功能来查看数据。

答案 2 :(得分:0)

Excel允许将存储过程的输出直接加载到选项卡中。 IMO是最好的方式:用户不需要SQL知识,他们只是调用一个程序,除了Excel和数据库之外没有额外的移动部件。

答案 3 :(得分:0)

根据您的SQL服务器版本,我会查看一些优秀的自助服务BI工具以及更高版本的报告生成器。这就像是视觉工作室的精简版,其中包含所有复杂的位,只留下简单的报告位。

如果您设置的登录服务器的共享数据源具有极低的访问权限,则用户可以构建报告但不能编辑任何内容。

我会回应知识管理的评论,即在生产系统中使用大量未经洗涤的运行查询可能会导致一些有趣的结果,无论是使用了错误的查询还是大量的表扫描或笛卡尔连接等等