ORA-01031: недостаточно прав при вставке через dblink
Это работает:
(connect to some_db)
INSERT INTO some_schema.some_table(id) VALUES (some_schema.some_table.nextval);
Это тоже работает:
(connect to some_other_db)
SELECT some_schema.some_table.nextval@some_db FROM DUAL;
Это не работает:
(connect to some_other_db)
INSERT INTO some_schema.some_table@some_db(id) VALUES (some_schema.some_table.nextval@some_db);
Я получаю ошибку ORA-01031: insufficient privileges ORA-02063: preceding line from SOME_DB
, Привилегия вставки для some_schema.some_table предоставляется через роль по умолчанию.
В чем может быть проблема здесь?
Обновление: добавление select
Право на таблицу заставил работать удаленный запрос.
1 ответ
Решение
Если вы вставляете в локальную базу данных, привилегия вставки достаточна, если вы вставляете в удаленную базу данных, вам нужно выбрать и привилегию вставки, поскольку она сделает выбор на этапе анализа.