我想从Java调用PL / SQL中的过程。
这是我在JAVA中调用的代码
String query = "{CALL zapisz_button(?,?,?)}" ;
CallableStatement cst = con.prepareCall(query);
cst.setString(1,txtNazwa.getText());
cst.setString(2, "test");
cst.setString(3,txtLiczba.getText());
cst.execute();
cst.close();
这是我的oracle PL / SQL程序
create or replace procedure zapisz_button
(
nazwaoddzialu IN ODDZIAL.NAZWAODDZIALU%TYPE,
rodzajoddzialu IN ODDZIAL.RODZAJODDZIALU%TYPE,
liczbalozek IN ODDZIAL.LICZBALOZEK%TYPE
)
as
begin
insert into ODDZIAL("NAZWAODDZIALU","RODZAJODDZIALU","LICZBALOZEK")
values (nazwaoddzialu,rodzajoddzialu,liczbalozek);
commit;
end zapisz_button;
我正在寻找错误的衣服。 当我尝试将数据添加到数据库时,我收到错误:
java.sql:SQLException: ORA-06550: line1,column7:
PLS-00201:identifier'ZAPISZ_BUTTON' must be declared
ORA-06550: line 1,column7:
PL/SQL: Statement ignored
我想使用PL / SQL将“保存”设置为数据库按钮。 我知道我只能使用“Insert Into ...”但我想在PL / SQL中这样做。
答案 0 :(得分:0)
我认为架构名称的问题,请尝试在其中添加架构名称并执行。 在任何包(e.i.package_name)下定义你的程序,让我们说'aaa'是该包的所有者。 程序调用将是。
if (location.hash == "#_=_") location.hash = "";
答案 1 :(得分:0)
架构存在问题。它可以用不同的方式处理。
1)在您的程序之前添加模式名称,然后按'。'。 2)在与您的Java应用程序连接的其他模式中创建过程的同义词。