设置对象上组或用户的权限。
语法
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,则需要该参数;否则,将不使用它。
说明
如果提供者不支持为组或用户设置访问权限,将出现错误。