我们有几个SQL Server数据库,其中包含我们构建的发电机的测量值。但是,此有用的数据仅适用于少数工程师,因为大多数人都不熟悉SQL(包括我)。是否有任何工具允许工程师提取数据的选定子集,以便在Excel或其他环境中进行分析?理想的工具将

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

感谢您的建议或建议。

有帮助吗?

解决方案

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

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

我们的用户熟悉Excel,因此我创建了一个存储过程,其中包含用于过滤/自定义的大量参数,他们可以通过使用以下内容来轻松调用它:

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

我准确地记录了参数的作用,并且通常可以从那里走。

要设置Excel查询,您需要在用户PC上设置数据源(控制面板 - 数据源 - ODBC),该数据源将根据您的Windows版本而略有不同。

从excel中,您需要设置“查询”,这只是 EXEC 从上方命令。根据Excel的版本,它应该像:菜单 - 数据 - 导入外部数据 - 新数据库查询。然后选择数据源,连接,跳过表图制造商,然后输入上述SQL。另外,不要试图使一个程序执行所有操作,而是根据他们的工作来制作不同的程序。

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

有些用户有点先进,并且“尝试”编写自己的SQL,但这很痛苦。我最终要调试和修复他们的错误查询。另外,一旦您纠正了查询,它们就会始终修补它,然后再次打破它。使用存储过程意味着他们无法更改它,我可以将其与源代码存储库中的其他过程一起使用。

其他提示

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

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

根据您的SQL Server版本,我将查看一些具有报告构建器等版本的出色自助BI工具。这就像一个被剥离的Visual Studio版本,所有复杂的位都取出,只是剩下的简单报告。

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

我会回应KM的评论,即在生产系统上让大量未洗的跑步查询可能会导致一些有趣的结果,而错误的查询要么被使用,或者大量的桌子扫描或笛卡尔加入等

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top