早上单位人力资源系统需要和OA系统单点登录,人力系统数据同步OA,OA创建了张临时表,由人力系统主动同步数据,过程中出现了一系列问题:
1、首先人力系统直接粗暴上来创建dblink灌数据(oa数据库ip端口不方便展示,汉字代替)
create database link rs
connect to xxx
IDENTIFIED by "abdccccc"
using 'jdbc:oracle:thin:@oa数据库ip:端口/数据库用户';
INSERT into oa表@rs (xm,sjh,sfzh) select A0101 as xm,A0148 as sjh,A0177 as sfzh from UsrA01;
commit;
drop database link rs;
得到的结果是:去oa查询表数据是空的,但是在人力库查到数据了
排查问题吧:
1、查看人力这边创建dblink权限,为空,也就是查询不出数据
select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
2、执行付权
grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to 人力数据库用户;
3、再执行前面的create database link ,执行后,加上数据库连接访问oa的表,报错ora-12154,此报错截图暂时就放了

本文描述了一个企业IT团队在实现人力资源系统与OA系统单点登录和数据同步时遇到的问题,包括创建dblink权限不足、错误代码ORA-12154,以及最终通过调整连接方式和字段安全设置成功解决的过程。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



