我正在将MariaDB10与DBForge一起使用,并创建一个Delphi项目,我创建了一个角色来管理权限,但效果不佳。
1-在DbForge面板上创建一个具有过程myprocedure
权限的角色
2-在我的Delphi项目中添加一个Tmyquery,代码为set default role myrole
3-在afterConnect
上添加一个过程,调用查询创建的
4-在MyConnection选项上设置disconnectedMode = true
有时这个过程有效,但大多数时候我会收到错误:Acess denied to user XX for routine myprocedure
这种情况发生在我试图控制权限的例程、函数和表中
此外,每次我对角色授予权限,并且在编辑过程后,该角色都会失去我在之前授予的权限
Obs:DbForge面板上的角色工作正常,就在我试图将其放在Delphi 上的时候
如果用户还没有访问该角色的权限,则运行set default role myrole
的用户不会将其授予他们。
设置默认角色需要这些权限:
为其他用户设置默认角色需要全局CREATEUSER权限,或mysql.default_roles的UPDATE权限系统表。
为自己设置默认角色不需要特殊权限,只要您想要作为默认角色的角色已经授予您