2010-07-26 60 views
3

有沒有辦法將Java ArrayList對象作爲參數傳遞給Oracle存儲過程?我已經看到了將Array對象傳遞給Oracle存儲過程但不是ArrayList對象的示例。這可能嗎?將ArrayList傳遞給Java中的Oracle存儲過程

+3

我認爲它是'ArrayList.toArray()'獲取ArrayList值的數組... – 2010-07-26 14:37:50

回答

1

否。如果Oracle存儲過程在PL/SQL中,則必須將ArrayList(或任何List實現)轉換爲數組。

如果您的存儲過程是用Java編寫的,那麼您可以序列化您的ArrayList,將字節流作爲長字符串發送到Oracle,然後在Oracle端重新構建它。我在10年前爲一個客戶做了這件事,它的工作非常好。對於可以通過Java-Oracle接口傳遞的字符串有多長時間是有限制的,所以如果數據結構很大,則必須將其劃分爲適合單個參數的塊,並讓Oracle側的Java接受多個長字符串參數。

相關問題