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

熱點內容
asp在線文件管理系統 瀏覽:468
tks文件如何分解 瀏覽:132
java7tmd32位 瀏覽:49
網路公司關鍵詞 瀏覽:925
vivo手機的便簽文件夾是哪個 瀏覽:672
win10升級助手未激活 瀏覽:530
瀏覽器保存密碼在哪個文件 瀏覽:691
sitemap代碼 瀏覽:108
資料庫的使用過程 瀏覽:761
excel怎麼用高級篩選數據 瀏覽:438
js中怎麼設置css樣式 瀏覽:724
商業網站模板下載 瀏覽:548
c怎麼調用資料庫 瀏覽:438
vue封裝js方法 瀏覽:705
電腦文件夾藍色的 瀏覽:713
tp無線網設置管理密碼忘記了怎麼辦 瀏覽:386
ipa里資源文件 瀏覽:110
蘋果的文件管理在那裡 瀏覽:633
qq瀏覽器文件如何發到qq 瀏覽:736
百度地圖載入多個點代碼 瀏覽:146

友情鏈接