powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
13 сообщений из 13, страница 1 из 1
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891065
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://stackoverflow.com/questions/58920660/no-permission-for-read-select-access-to-database

Интересная трабла у человека. Даунгрейдит базу с FB3 на FB2.5 и получает такой прикол

Восстанавливать под другим пользователем, чем SYSDBA он почему-то не хочет.
А после восстановления под SYSDBA - другими пользователями с БД работать не возможно.

Getting above error when try to connect to a Firebird database with user different than SYSDBA, let say user SOM.
If I create new database with SYSDBA on same server, then grant access to the objects there to SOM, it is connecting without problem, but for this particular database - not. Tried to give all rights, including to the system objects to SOM (i am using the great IBExpert where this is possible), no success.

....console log....

I was unable to find way to grant anything to object DATABASE.

What could be the reason is that the problematic database was restored via gbak, version 2.5 from firebird 3 database (downgrade on this way from firebird 3 to 2.5). Possible solution is to restore the database with user SOM, but I don't want that the user SOM is the owner of the database. If i do a backup and restore with SYSDBA, the same problem comes back again.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
c:\Program Files\Firebird\Firebird_2_5\bin>isql -user SOM -password secret 
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect "c:\data\data.fdb";
Database:  "c:\data\data.fdb", User: SOM
SQL> select * from exampletable ;
Statement failed, SQLSTATE = 28000
no permission for read/select access to DATABASE
Command error: select * from exampletable
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891077
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

небось этому юзеру SOM надавали кучу новых привелегий, которых не существовало в 2.5.
Если в 3.0 он был владельцем БД, то в бекап попали привелегии и признак владельца на генераторы, эксепшены, функции.

Грубо говоря ему проще сначала на 3.0 перевосстановить БД под SYSDBA, отнять у SOM лишние привилегии, а уж потом ещё раз бекап 3.0, рестор 2.5
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891082
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я уже там отписал.

Надо сделать бэкап гбаком от 2.5, причем, чтобы гбак использовал клиента fbclient.dll от 3.0.
Тогда в бэкап не попадет ничего лишнего, о чем 2.5 не знает.
Ну и потом рестор на 2.5.

Если так не выйдет - ну, тогда экспорт скрипта, создать БД из скрипта, пампить данные. Только так.
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891113
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
небось этому юзеру SOM надавали кучу новых привелегий, которых не существовало в 2.5.


наверное - так

но по идее gbak от 2.5 не должен создавать сущностей, таких как разрешения, не существующих в 2.5

или он gbak'ом от 3.0 прицепился к FB2.5 по сети и лил туда? а сервер не споткнулся на "новых командах"?..
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891118
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

привилегии gbak не через DDL заливаются
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891129
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochили он gbak'ом от 3.0 прицепился к FB2.5 по сети и лил туда?

у него написано:
the problematic database was restored via gbak, version 2.5 from firebird 3 database

то есть, он взял бэкап от 3.0, и заресторил гбаком от 2.5. А надо было бэкап делать гбаком 2.5.

p.s. обычно в эту тему народ массово не врубается. В любом случае, если в новой версии наменять метаданных, то результат перевода базы "на версию назад" непредсказуем, и возможен только через скрипт и памп. Если делается временный тестовый переход на версию N+1, то в базе категорически метаданные нельзя менять или добавлять.
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891130
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochно по идее gbak от 2.5 не должен создавать сущностей, таких как разрешения, не
существующих в 2.5

Насколько я помню, он заливает ACL целиком, не интересуясь содержимым. Так что даун грейд
с его помощью невозможен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891146
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
взял бэкап от 3.0, и заресторил гбаком от 2.5
gbak 2.5 не поймёт формат бекапа gbak 3.0
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891273
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
gbak 2.5 не поймёт формат бекапа gbak 3.0



И это есть в RN?
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891277
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

а когда-то было не так ?

forward compatibility вроде бы не было в interbase/firebird отродясь
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891508
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, ему помогло удаление ACL из RDB$DATABASE
Код: sql
1.
UPDATE RDB$DATABASE SET RDB$SECURITY_CLASS = NULL
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39891606
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...это пока он на что-нибудь ещё не напоролся
...
Рейтинг: 0 / 0
Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
    #39892489
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch
а когда-то было не так ?

странно. Я-то наивно полагал, что это справедливо только в отношении ODS. Видимо, читал невнимательно :(
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Statement failed, SQLSTATE = 28000 - no permission for read/select access to DATABASE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]