Предоставить привилегии пользователю Firebird с помощью jaybird

Мне удалось создать нового пользователя в Firebird через FBUserManager.add(пользователь). Мне также удалось соединиться с БД, которую я уже создал. Что я не могу, как это выполнить запросы, я получил сообщение:

"org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544352. нет разрешения на чтение / выбор доступа к TABLE "

Я понял, что у вновь созданного пользователя нет правильных привилегий для запуска команд. Я знаю, как предоставить привилегии прямо в Firebird. Но мне нужно сделать это из java-программы, используя jaybird, кто-нибудь знает, как это сделать?

1 ответ

Решение

Нет API для назначения привилегий в Jaybird. Вам нужно будет выполнить серию GRANT заявления, чтобы назначить необходимые права, как вы бы прямо в Firebird. Просто имейте в виду, что каждый GRANT нужно будет выполнить индивидуально, используя Statement.execute(),

Другой вариант - назначить все права на роль, назначить эту роль пользователю и убедиться, что роль указана (в строке подключения или свойствах) при подключении к базе данных.

Другие вопросы по тегам