【问题标题】:SELECT * FROM system.storedprocedures returns empty cursor if user is not ADSSYS如果用户不是 ADSSYS,则 SELECT * FROM system.storedprocedures 返回空游标
【发布时间】:2011-07-13 19:41:56
【问题描述】:
如标题所述,从 ADS DataDictionary 检索所有 system.storedprocedures 列表的 select 语句仅在用户为 ADSSYS 时返回信息。我想这是用户权限的问题。那么问题是,我如何为给定的用户或用户组分配权限以使用 select from system.storedprocedures 进行查询?
谢谢,
雷纳尔多。
【问题讨论】:
标签:
ads
advantage-database-server
【解决方案1】:
您需要授予用户或组对每个单独的存储过程的 EXECUTE 权限。有了 EXECUTE 权限,他们将能够看到过程及其参数,但看不到其他属性。如果您授予他们 ALTER 权限,他们也将能够看到该过程的 SQL 脚本或 DLL 属性。
您可以使用 Advantage Data Architect (ARC)、SQL GRANT 语句或 ACE API AdsDDGrantPermission 分配权限。当然,要修改权限,您需要成为 ADSSYS 用户或对其他用户/组具有 ALTER 权限的用户/组。