導航:首頁 > 編程語言 > 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

友情鏈接