ORA-01031: недостаточно прав при вставке через dblink - PullRequest
2 голосов
/ 15 ноября 2011

Это работает:

(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 Ответ

3 голосов
/ 16 ноября 2011

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

...