java – 如何使用JDBC / Spring调用Oracle存储过程,其中一些参数
发布时间:2020-12-15 02:21:23 所属栏目:Java 来源:网络整理
导读:我正在尝试从我的 Java程序中调用Oracle存储过程.我正在使用JDBC和Spring的StoredProcedure.一些参数是用户定义的类型,我需要知道如何传递它们. 特别是我应该在参数映射中指定哪种类型(即java.sql.Types.*中的哪一个)?我应该使用什么Java类型?问题类型定义
我正在尝试从我的
Java程序中调用Oracle存储过程.我正在使用JDBC和Spring的StoredProcedure.一些参数是用户定义的类型,我需要知道如何传递它们.
特别是我应该在参数映射中指定哪种类型(即java.sql.Types.*中的哪一个)?我应该使用什么Java类型?问题类型定义如下: type MyDoubles as varray(50000) of double precision type MyStrings as varray(50000) of varchar2(2000) 解决方法
Google中的第一个命中似乎展示了如何绑定VARRAY:
http://www.devx.com/tips/Tip/22034类型的参数.本文档中的示例使用预准备语句,但对于存储过程,它应该工作相同.
这是一个显示基本概念的摘录: String arrayElements[] = { "Test3","Test4" }; PreparedStatement ps = conn.prepareStatement ("insert into sample_varray_table values (?)"); ArrayDescriptor desc = ArrayDescriptor.createDescriptor("STRING_VARRAY",conn); ARRAY newArray = new ARRAY(desc,conn,arrayElements); ((OraclePreparedStatement)ps).setARRAY (1,newArray); ps.execute (); 这里要澄清一些FQDN: > oracle.sql.ArrayDescriptor> oracle.sql.ARRAY> oracle.jdbc.OraclePreparedStatement (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |