因为要搭建测试环境,所以创建了另一个oracle数据库实例,将触发器啊,存储过程啊之类的统统copy过来,一切准备好后,运行程序是发现一个问题!!!
执行存储过程报错;
17:00:47,275 ERROR DbExec:911 - SQLException:{call riskcontrol.rule_match(?,?,?,?,?,?,?,?)}|
java.sql.SQLException: ORA-01031: 权限不足
ORA-06512: 在 "SYS.DBMS_SESSION", line 101
ORA-06512: 在 "YCPAY.RISKCONTROL", line 175
ORA-06512: 在 "YCPAY.RISKCONTROL", line 57
ORA-06512: 在 line 1
可是我的用户是DBA的啊~~~~
于是百度寻求解答~~~
拜读了这位大仙的文章之后http://blog.csdn.net/inthirties/article/details/4706303
解决了~~
具体理论还要学习~~~
如果想快速解决的话~~
可以这样~~~
报错的位置就是这个地方dbms_session.set_context('risk_ctx','v_begindate', v_begindate);
create or replace context risk_ctx using 包的名字 ACCESSED GLOBALLY;
就可以了~~
解决!!!