如何在ms访问中以编程方式授予数据库打开权限

问题描述 投票:1回答:1

我有一个MS Access数据库,定义了用户级安全性。

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

这有效:

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

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

ms-access permissions odbc
1个回答
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连接一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.