【发布时间】:2013-10-08 15:06:06
【问题描述】:
我想要一个可以帮助创建 sql 查询(适用于非 IT 人员)的工具,例如 dbforge。
我希望我们的非 IT 人员(例如操作人员)创建自己的 sql 查询。
我的第二个目标是让他们按需执行这些查询。
我们的项目是企业项目后台应用(java\spring\my sql)
是否有任何工具可以做到这一点?
P.S 目前我们正在运行 birt,但问题是 birt 报告创建需要开发人员创建,因为界面不友好
【问题讨论】:
我想要一个可以帮助创建 sql 查询(适用于非 IT 人员)的工具,例如 dbforge。
我希望我们的非 IT 人员(例如操作人员)创建自己的 sql 查询。
我的第二个目标是让他们按需执行这些查询。
我们的项目是企业项目后台应用(java\spring\my sql)
是否有任何工具可以做到这一点?
P.S 目前我们正在运行 birt,但问题是 birt 报告创建需要开发人员创建,因为界面不友好
【问题讨论】:
这不是一个真正的答案,只是一个评论,但它太长了,不适合。
我认为,如果数据库非常复杂,那么您这样做只会引发新的一批问题。非 IT 人员不了解数据库的结构,因此您必须创建一个简化的、预先连接的数据库版本,否则他们将面临对他们不了解的对象运行查询的风险。
如果真的有一个 IT 组,对我来说这意味着数据库有点复杂。您最好创建一堆预制报告,并让他们输入参数来运行所述报告。
我知道一直有人要求这种类型的事情,但我从未见过它进展顺利。一个用户会创建一个报告说你有 1000 个小部件,或者 500 个未处理的工单,或者其他什么,然后另一个用户会创建一个报告,说 2000 个小部件和 5 万亿个工单,你必须解释为什么两者都是错误的以及为什么笛卡尔连接是个问题。这是假设他们不会出于好奇而编写荒谬的查询来杀死您的系统。例如,我想知道去年有多少客户在商品 A 打折时购买了该商品,但之前从未购买过该商品?
很抱歉上肥皂盒。我完全期待投票,但我只是想警告你,如果还有时间反驳的话,也许会给你一些轶事证据。
【讨论】:
正如 MJB 提到的那样,使用用户输入的参数创建预设报告将是您最好的解决方案,因为您的问题是写的。
您的问题存在一些冲突,因为您希望“非 IT 人员创建自己的 sql 查询”,但同时您觉得“创建 birt 报告需要开发人员”。如果他们会编写 SQL 并学习 JavaScript,他们应该能够构建 BIRT 报告。
假设您真的希望您的非 IT 人员编写 SQL,并且您不想购买高额的报表解决方案。
创建Data Views 这允许您为非 IT 人员创建更友好的数据集,授予他们只读数据视图的权限(您的 IT 人员将需要创建登录)
让您的非 IT 人员使用 SSMS 查询 Dava 视图,您可能已经拥有该产品并且只需要开始使用它。
创建视图
• Open SQL Server 2008 R2 for the data base (i.e. winsvmnstst01)
• Drill down to the database (i.e. svmupmctst)
• Right click "Views" , select "New View"
• On "Add Table" pop-up click "Close"
• Insert SQL (i.e. select SCRELATIONM1.SOURCE, SCRELATIONM1.DEPEND from dbo.SCRELATIONM1)
• "Save" (top left) , lets you enter a name. click "Ok"
• Close window
将数据视图添加到现有登录(实际上您将登录添加到数据视图)
• Right Click on View (i.e. DV_Global_ SCRELATIONM1), select "Properties"
• In Pop-up select "Permissions" (top left window)
• For "Users or roles" select "Search..." button
○ Click "Browse…"
○ Check login to add (i.e. itsmprocessowner)
○ Click "ok" & "0k"
• For "Permissions for <value> (i.e. itsmprocessowner)
○ Check box at "Select" & "Grant"
§ If adding multiple login's this must be done for each
○ Click "ok"
【讨论】:
对于 MySQL Db,请尝试 Smart Report Maker。用户可以选择他们想要包含在报告中的表格和列,还可以直观地定义分组级别、排序、数据过滤器、访问规则等
【讨论】: