導航:首頁 > 編程語言 > 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存儲過程數據集相關的資料

熱點內容
數據線插不穩手機充電口什麼原因 瀏覽:45
數據分類處理方法有哪些 瀏覽:74
單片機燒寫程序不成功 瀏覽:532
ubuntu文件夾改成英文 瀏覽:704
基礎版代碼 瀏覽:637
冷藏廂式貨車什麼網站有 瀏覽:395
廣數928te2的g71內孔怎麼編程 瀏覽:578
英菲克盒子找不到文件 瀏覽:342
個人網站你賺了多少錢 瀏覽:979
如何理解好的編程習慣簡答 瀏覽:261
小米的數據流量在哪裡 瀏覽:966
江蘇哪些城市有數據中心 瀏覽:15
javascripttrim 瀏覽:398
學習視頻發到網路上怎麼辦 瀏覽:907
常州女孩學編程哪裡好 瀏覽:183
如何在電腦上免費下載編程軟體 瀏覽:19
全球十大徵婚網站叫什麼名字 瀏覽:482
如何把文件轉到QQ 瀏覽:968
怎麼用手機號碼加微信 瀏覽:773
java中或者符號怎麼打 瀏覽:348

友情鏈接