2010-07-26 104 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接受多个长字符串参数。

相关问题