往其他用户写入select出来的数据别忘记grant授权

往其他用户写入数据别忘记授权:

事件,应用提出需求要往其他用户写数据,由于在同一个库,没必要启用DBLINK,而直接在表名前面加上要插入用户的用户名。

  Insert Into TMP_ADC_ENTRY_CONTAINER (DATA_IMPORT_TIME, ENTRY_ID, CONTAINER_ID)

      Select to_char(end_time, 'yyyymmddHH24mi'), ENTRY_ID, CONTAINER_ID From ADC_ENTRY_CONTAINER;

却一直报Error: PL/SQL: ORA-01031: insufficient privileges错误

Compilation errors for PROCEDURE ADC.PROC_EXPORT_CONTAINERS

Error: PL/SQL: ORA-01031: insufficient privileges

Line: 151

而单独测试

  Insert Into TMP_ADC_ENTRY_CONTAINER (DATA_IMPORT_TIME, ENTRY_ID, CONTAINER_ID) values(sysdate,'1','2')却正常,

百思不得其解,最后想象是否是访问远程表的权限有问题,尝试如下授权:

sys用户下grant select,insert on EPORT.TMP_ADC_ENTRY_CONTAINER to ADC;

授权后执行改语句成功




转载请注明:http://www.xcqg58.com/bcxx/bcxx/38.html