如何从java程序将数组传递给sql存储过程

时间:2011-07-18 13:03:22

标签: java sql

我必须将一个数组作为参数从java程序发送到存储过程。我们怎么能这样做。请帮帮我

2 个答案:

答案 0 :(得分:1)

这是以供应商为中心的实现,因此对于不同的数据库会有所不同。 对于Oracle,您需要使用oracle.sql包的ArrayDescriptor类。 请点击以下链接,在AskTom网站上讨论一个可靠的答案:http://asktom.oracle.com/pls/asktom/f?p=100:11:2906896739396193::::P11_QUESTION_ID:712625135727

答案 1 :(得分:1)

这取决于您的数据库。某些数据库(例如Postgres,HSQLDB)及其JDBC驱动程序支持匿名数组,您可以使用

进行设置
Object[] array = // ...
pstmt.setObject(index, array);

Oracle更复杂,因为它需要一个类型化的对象。