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 ответ

Решение

Если вы вставляете в локальную базу данных, привилегия вставки достаточна, если вы вставляете в удаленную базу данных, вам нужно выбрать и привилегию вставки, поскольку она сделает выбор на этапе анализа.

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