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
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
c6iz
2013-04-26 · TA获得超过1417个赞
知道大有可为答主
回答量:1426
采纳率:100%
帮助的人:1024万
展开全部
你把每个字段加上“”双引号来标识一下,看看
追问
存储过程中写的是
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))';
看看能不能调用成功
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式