我有一个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
但即使我在连接字符串中使用数据库的所有者,我也没有权限。
我无法在任何地方找到此文档,但为特权指定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连接一起使用。