往其他用户写入数据别忘记授权:
事件,应用提出需求要往其他用户写数据,由于在同一个库,没必要启用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,如需转载请自行联系原作者