oracle 存储过程 用plsql调试完全没有问题, 用java调用 返回的sqlcode:-904
尝试了很多可能的原因,但是都定位不了问题原因,为什么数据库工具运行存储过程就通过,java调用返回一个莫名其妙的-904网上查了也没有相关-904的错误定位请求帮助不要管...
尝试了很多可能的原因,但是都定位不了问题原因,
为什么数据库工具运行存储过程就通过,java调用返回一个莫名其妙的-904
网上查了也没有相关-904的错误定位
请求帮助
不要管变量的事情,发送不了那么多字我全删掉了
plsql执行可以成功,而且表中相应的数据都是对的,用java则不行
CallableStatement callpro = conn.prepareCall("{call "+sequence.getJobName()+"(?,?)}");
callpro.setString(1,sequence.getJobName());
callpro.registerOutParameter(2,Types.VARCHAR);
callpro.execute();
返回值sqlcode :-904 展开
为什么数据库工具运行存储过程就通过,java调用返回一个莫名其妙的-904
网上查了也没有相关-904的错误定位
请求帮助
不要管变量的事情,发送不了那么多字我全删掉了
plsql执行可以成功,而且表中相应的数据都是对的,用java则不行
CallableStatement callpro = conn.prepareCall("{call "+sequence.getJobName()+"(?,?)}");
callpro.setString(1,sequence.getJobName());
callpro.registerOutParameter(2,Types.VARCHAR);
callpro.execute();
返回值sqlcode :-904 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
你把每个字段加上“”双引号来标识一下,看看
追问
存储过程中写的是
v_createTempTable := 'CREATE GLOBAL TEMPORARY TABLE 。。。。。。。
EXECUTE IMMEDIATE v_createTempTable;
用plsql调用,一点问题没有,
用java就挂到这里EXECUTE IMMEDIATE v_createTempTable;网上有说权限的问题
我已经试过权限了,不是权限的问题。为什么java调用后会卡在EXECUTE IMMEDIATE 报错
但是手动执行就不报错,问题是要怎么才能确定这到底是咋了?
追答
JAVA不懂,试着把v_createTempTable := 'CREATE GLOBAL TEMPORARY TABLE 。。
改成v_createTempTable := 'create table test(id int,name char(20))';
看看能不能调用成功
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询