如何以编程方式在MS Access中授予数据库打开权限

时间:2019-04-04 10:38:41

标签: ms-access permissions odbc

我有一个定义了用户级别安全性的MSAccess数据库。

我正在尝试使用C#ODBC在MSACCESS数据库中以编程方式创建一个新组。

这有效:

GRANT SELECT, DELETE, INSERT, UPDATE, SELECTSCHEMA, SCHEMA ON CONTAINER Tables TO NewGroup

这样做(显然是通过提供TABLE或OBJECT和objectName来实现的):

$"GRANT SELECT, INSERT, UPDATE, DELETE ON {objectType} {objectName} TO NewGroup";

但是,当我运行这些授予时,该组仍然没有开放数据库权限。我该怎么办?

我尝试过:

GRANT SELECTSCHEMA ON CONTAINER Databases TO NewGroup

但是即使我在连接字符串中使用数据库的所有者,我也没有权限。

1 个答案:

答案 0 :(得分:1)

我在任何地方都找不到此文档,但是为特权指定了CONNECT并应用了ON DATABASE ...

GRANT CONNECT ON DATABASE TO NewGroup

我没有使用ODBC连接进行测试,但是它可以在Access中使用ADO来工作,如下所示:

With CurrentProject.Connection
    .Execute "GRANT CONNECT ON DATABASE TO NewGroup"
End With

因此它应该与OleDb连接一起使用。