簡體   English   中英

如何將 List<> 傳遞給 Oracle 存儲過程

[英]How to pass a List<> to an Oracle stored procedure

我的代碼已經使用存儲過程將字符串數據存儲在 SQL 表中:

// my DAO
public class SomeProcedure extends StoredProcedure {
    public void process (String data) {
        Map<String, Object> map = new HashMap<String, Object>();
        hm.put("customData", data);
        Map<?,?> result = super.execute(hm);
    }
}

// My pks
procedure storeData (
    data_p in someTable.data%type,
    data_o out someTable.data%type,
)
as
begin
    insert into someTable
...
end storeData;

我需要修改它以包含一個 object 列表。 例如:

// my DAO
public class SomeProcedure extends StoredProcedure {
    public void process (String data, List<someObject> list) {
        Map<String, Object> map = new HashMap<String, Object>();
        hm.put("customData", data);
        hm.put("customList", list);
        Map<?,?> result = super.execute(hm);
    }
}

我不清楚如何支持存儲過程中的對象列表。

有沒有人有傳遞和解析對象列表以存儲過程的經驗? 任何人都可以提供一些示例代碼嗎?

我在我的應用程序中使用了這樣的調用(現在無法訪問源代碼),但它看起來像http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P1613577712

我記得的一個問題是戰斗,是 SQL 運行時異常,通過將 orai18n.jar 添加到 ojdbc14 旁邊的類路徑中解決(對於 ZA189C633D9995E1B8607170ECA 字符串列表 41BF8607170EC9)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM