gpt4 book ai didi

java - 如何使用 JDBC/Spring 调用 Oracle 存储过程,其中某些参数类型是用户定义的?

转载 作者:搜寻专家 更新时间:2023-11-01 03:45:01 24 4
gpt4 key购买 nike

我正在尝试从我的 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 中的首次点击似乎显示了如何绑定(bind) 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

关于java - 如何使用 JDBC/Spring 调用 Oracle 存储过程,其中某些参数类型是用户定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3501099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com