往其他用户写入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;

授权后执行改语句成功



本文转自zylhsy 51CTO博客,原文链接:http://blog.51cto.com/yunlongzheng/531989,如需转载请自行联系原作者

上一篇:日志服务权限配置问题


下一篇:如何购买并配置linux服务器上的数据库