我正在尝试从我的C#应用程序为Firebird 2.5 DB创建新的数据库用户并发出错误“添加记录错误没有对TABLE USERS的插入/写入访问权限”。 我已经向用户授予rdb $ admin角色,使用此角色创建了与DB的连接,但我仍然收到此错误。 对我来说最奇怪的事情是,当我尝试使用相同的用户设置和角色(rdb $ admin)在IBExpert中为我的数据库创建新用户时,它会很好,我不会得到任何错误。
可能是什么问题?为什么我不能执行在USERS表中更新/插入的SQL查询和过程,尽管我有适当的角色,我正在使用建立连接?
我正在使用最新的FirebirdClient - ADO.NET数据提供程序。
DB的连接字符串如下所示:
`"User=developer;Password=*****;Database=C:\DB.fdb;DataSource=*****;Port=*****;Dialect=3;Charset=NONE;Role=rdb$admin;Connection lifetime=15;Pooling=True;MinPoolSize=0;MaxPoolSize=50;Packet Size=8192;ServerType=0;"`
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
我找到了一个解决方案 - 问题是我忘记了GRANT ADMIN ROLE给我执行过程的用户,所以我无法管理数据库用户。
所以GRANT ADMIN ROLE让用户解决了这个问题。