JAVA执行ORACLE存储过程的问题,为什么一直会报错?请各位高手帮帮忙,比较急
后台代码如上图存储过程是这样的createorreplacepackagepkg_pvisprocedureset_pv(pvvarchar2);functionget_...
后台代码如上图
存储过程是这样的
create or replace package pkg_pv isprocedure set_pv(pv varchar2);
function get_pv return varchar2;
procedure set_pv1(pv1 varchar2);
function get_pv1 return varchar2;
end;
create or replace package body pkg_pv isv varchar2(20);
v1 varchar2(20);
procedure set_pv(pv varchar2) is begin v:=pv;
end;
function get_pv return varchar2 is begin return v; end;
procedure set_pv1(pv1 varchar2) is begin v1:=pv1;
end;
function get_pv1 return varchar2 is begin return v1; end;
end;
begin pkg_pv.set_pv('大盈江一级');
pkg_pv.set_pv1('2012-07');
end;
select * from v_emp;
我在PLSQL中是能执行的 但到了JAVA中已执行就报如下错误:
org.springframework.jdbc.BadSqlGrammarException: Hibernate-related JDBC operation; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须声明标识符 'ORCL.PKG_PV'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored 展开
存储过程是这样的
create or replace package pkg_pv isprocedure set_pv(pv varchar2);
function get_pv return varchar2;
procedure set_pv1(pv1 varchar2);
function get_pv1 return varchar2;
end;
create or replace package body pkg_pv isv varchar2(20);
v1 varchar2(20);
procedure set_pv(pv varchar2) is begin v:=pv;
end;
function get_pv return varchar2 is begin return v; end;
procedure set_pv1(pv1 varchar2) is begin v1:=pv1;
end;
function get_pv1 return varchar2 is begin return v1; end;
end;
begin pkg_pv.set_pv('大盈江一级');
pkg_pv.set_pv1('2012-07');
end;
select * from v_emp;
我在PLSQL中是能执行的 但到了JAVA中已执行就报如下错误:
org.springframework.jdbc.BadSqlGrammarException: Hibernate-related JDBC operation; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须声明标识符 'ORCL.PKG_PV'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored 展开
3个回答
展开全部
存储过程里有两个参数,而你调用的时候只有一个参数‘sql’
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
存储过程的关键字是package? 错了吧 package不是包吗 怎木成存储过程了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PLS-00201: 必须声明标识符 'ORCL.PKG_PV'
这不是告诉你了吗 读不到 这个东西 你java 连接数据库的数据源用什么用户连接,是不是权限不够,看不到这个包。还有 你那调用存储过程是怎么调用的? 你那sql里面的内容是什么?
这不是告诉你了吗 读不到 这个东西 你java 连接数据库的数据源用什么用户连接,是不是权限不够,看不到这个包。还有 你那调用存储过程是怎么调用的? 你那sql里面的内容是什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询