设置对象上组或用户的权限。
语法
GroupOrUser.SetPermissions Name, ObjectType, Action, Rights [, Inherit]
[, ObjectTypeId]
参数
Name 字符串值。指定需设置其权限的对象的名称。
ObjectType 长整型值。指定需得到其权限的对象的类型。下列常量是 ObjectType 的有效值:
常量 | 说明 |
adPermObjProviderSpecific | 对象是提供者定义的类型。如果 ObjectType 是 adPermObjProviderSpecific,并且未提供ObjectTypeId,将出现错误。 |
adPermObjTable | 对象是表。 |
adPermObjColumn | 对象是列。 |
adPermObjDatabase | 对象是数据库。 |
adPermObjProcedure | 对象是过程。 |
adPermObjView | 对象是视图。 |
adPermObjSchema | 对象是模式。 |
adPermObjDomain | 对象是域。 |
AdPermObjCollation | 对象是序列。 |
AdPermObjSchemaRowset | 对象是模式行集合。 |
adPermObjCharacterSet | 对象是字符集。 |
adPermObjTranslation | 对象是转换。 |
Action 长整型值。指定设置权限时所执行的操作。下列常量是 Action 的有效值:
常量 | 说明 |
adAccessGrant | 组或用户将至少拥有所请求的权限。 |
adAccessSet | 组或用户恰好具有所请求的权限。 |
adAccessDeny | 组或用户被拒绝所指定的权限。 |
adAccessRevoke | 组或用户具有的任何显式访问权限将被撤消。 |
adAccessAuditSuccess | 当成功打开使用所请求的权限的对象时,将对组进行审核。 |
AdAccessAuditFailure | 当未能打开使用所请求的权限的对象时,将对组进行审核。 |
Rights 长整型值。包含指示要设置的权限的位掩码。值可以组合。下列常量是 Rights 的有效值:
常量 | 说明 |
adRightExecute | 组具有执行对象的权限。 |
adRightRead | 组具有读取对象的权限。 |
adRightUpdate | 组具有更新对象的权限。 |
adRightInsert | 组具有插入对象的权限。 |
adRightDelete | 组具有删除对象的权限。 |
adRightReference | 组具有引用对象的权限。 |
adRightCreate | 组具有创建对象的权限。 |
adRightWithGrant | 组具有授予对象上权限的权限。 |
adRightDesign | 组具有设计对象的权限。 |
adRightAll | 组具有所有对象上的权限。 |
Inherit 可选,枚举型值。指示对象如何继承这些权限。默认值为 adInheritNone。下列常量是 Inherit 的有效值:
常量 | 说明 |
adInheritNone | 无继承。 |
adInheritObjects | 容器中的无容器对象继承权限。 |
adInheritContainers | 主对象包含的其它容器继承输入项。 |
adInheritBoth | 主对象包含的对象和其它容器继承输入项。 |
adInheritNoPropagate | adInheritObjects 和 adInheritContainers 标志不传递给继承输入项。 |
adInheritOnly | 权限不应用于访问控制列表 (ACL) 与之相连的主对象,但主对象包含的对象继承输入项。 |
ObjectTypeId 可选,变体型值。指定 OLE DB 规范未定义的提供者对象类型的 GUID。如果 ObjectType 设置为 adPermObjProviderSpecific,则需要该参数;否则,将不使用它。
说明
如果提供者不支持为组或用户设置访问权限,将出现错误。