java - 我应该如何使用jdbc将vararray从plsql发送到java?

标签 java oracle jdbc plsql

我有一个 PL/SQL 函数,它返回“TYPE varr IS VARRAY(100001) OF VARCHAR2(32000);”。使用函数的可调用语句,我想将此 vector 放入 Java 中的 String[] 中。我该怎么做?

我尝试了以下代码,但出现错误: “线程“main”java.sql.SQLException 中出现异常:ORA-03115:不支持的网络数据类型或表示形式”。

    CallableStatement statement=Database.getConnection().prepareCall("{? = call data_mining.return_treshold}");
    statement.registerOutParameter(1, java.sql.Types.ARRAY);
    statement.executeQuery();
    Array arr=statement.getArray(1);
    String[] vec=(String[])arr.getArray();

最佳答案

registerOutParameter 调用中添加类型名称:

    statement.registerOutParameter(1, java.sql.Types.ARRAY, "VARR");

关于java - 我应该如何使用jdbc将vararray从plsql发送到java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55996108/

相关文章:

database - 数据库奇怪的行为

java - JDBC MySQL 仅在测试类中工作

java - 如何在具有多种类型的customViewHolder的recyclerView中实现recyclerView.smoothScrollToPosition(position)?

java - 来自服务实现的 Google Web Toolkit 异步调用

sql - 由于 ORDER BY 子句,Partition By Clause 给出了不同的结果

java - MySQL upsert (ON DUPLICATE KEY) 使用 JDBC 准备语句

java - 启用 SQL 触发器时,Java 中的准备语句失败

java - 如何使用 JavaFX CSS 删除带有嵌套标签的按钮的填充

java - 如何解析此日期格式?

php - THE 过程入口点 OCIstmtgetNextresult 无法位于动态链接库 oci.dll 中