导航:首页 > 编程语言 > java调用oracle存储过程数据集

java调用oracle存储过程数据集

发布时间:2024-09-19 13:38:55

Ⅰ oracle存储过程分页 java调用时候出现 无法转换为内部表示 什么问题

也没什么大问题,就是oracle的函数你用错了
to_char(参数,格式),比如to_char(1234,'0000'),to_char(sysdate,'YYYYMMDD')等,
to_number(参数,格式),比如to_number(9999,'$9999.99'),to_number(99.99,'99')等

Ⅱ java如何获取oracle存储过程里的dbms_output.put_line()内容; 现在不方便改成游标。。

你的意思是不是要获取到“当前用户:user_id”这个的内容,如果是,两个方式可以解决:
1.通过存版储过程的出参,将“当前权用户:user_id”连接串返回;
比如:
假设你的过程叫,prc_test,在参数列表中增加出参。
create or replace procere prc_test(入参 in 类型, 出参 out 类型) is
begin
-- 逻辑实现
end;
出参就是你要把内容放进去,用来传值的变量。
2.在过程中保存一张临时表,然后在java中查出这个临时表中保存的数据。
定义临时表table_temp
在过程中
insert into table_temp(msg) values ('当前用户:' || user_id);

Ⅲ 如何在ORACLE中使用JAVA存储过程

比如下面写的是Oracle的一个存储过程:
create or replace procere queryempinfo(eno in number,
pename out varchar2,
psal out number,
pjob out varchar2)
as
begin
--得到该员工的姓名 月薪和职位
select ename, sal, job into pename, psal, pjob from emp where empno = eno;
end;

Java调用Oracle的存储过程
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url, username, password);
stat = conn.prepareCall(sql);

// 一个输入参数和三个输出参数
stat.setInt(1, 7566);
stat.registerOutParameter(2, OracleTypes.VARCHAR);
stat.registerOutParameter(3, OracleTypes.NUMBER);
stat.registerOutParameter(4, OracleTypes.VARCHAR);
stat.execute();

String name = stat.getString(2);
int sal = stat.getInt(3);
String job = stat.getString(4);

System.out.println("name: " + name + ", sal: " + sal + ", job: " + job);

} catch (Exception e) {
e.printStackTrace();
} finally {
close(conn, stat, rs);
}

Ⅳ oracle 存储过程返回结果集怎么实现用java如何调用这个存储过程比如表scott下的emp表

1:首先你需要创建一个包,并定义你返回的游标的类型、存储过程

create or replace package TEST_PKG is

type cur_emp is REF CURSOR;

procere test_proc (emps out cur_emp);

end TEST_PKG;

2:然后你再创建包体

create or replace package body TEST_PKG is

procere test_proc (emps out cur_emp)
as
begin
open emps for select * from emp;
end test_proc;
end TEST_PKG ;

3,通过JAVA调用

cstmt = conn.prepareCall("{call TEST_PKG .test_proc (?)}");
cstmt.registerOutParameter(1, OracleTypes.CURSOR);
cstmt.execute();

//获得结果集
rs = (ResultSet)cstmt.getObject(4);
while(rs.next()){......}

注意:游标类型需要你在连接未关闭之前进行本地持久化,不然连接关闭了就无法解析了哦^-^,如果还不懂可以联系我!

阅读全文

与java调用oracle存储过程数据集相关的资料

热点内容
基于单片机的密码锁 浏览:242
java英文技术文档 浏览:590
视频文件左下角有个x 浏览:25
大数据中什么是键 浏览:302
八门神器邮箱怎么使用教程 浏览:765
网站日历提醒怎么老是删不了苹果 浏览:946
苹果手机xim文件 浏览:783
access数据库查询最大值 浏览:280
linuxdvd挂载文件系统 浏览:384
安卓3d立方体模型旋转 浏览:691
linux回复原先的文件 浏览:678
js静态文件 浏览:846
javaredis存储对象 浏览:906
如何下载php文件 浏览:946
视频怎么变成mp3格式文件怎么打开 浏览:869
pe下找桌面文件win10 浏览:686
电脑微信复制文件还原 浏览:319
lol文件损坏修复 浏览:37
生活安卓 浏览:844
获取路由宽带账号密码错误 浏览:465

友情链接