首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在java中创建oracle类型

在java中创建oracle类型
EN

Stack Overflow用户
提问于 2011-10-20 06:54:51
回答 1查看 1.8K关注 0票数 0

我希望调用一个oracle函数,它接受oracle类型的参数类型oralce类型的一个out参数类型。

代码:

代码语言:javascript
运行
复制
Connection connection = (Connection) parameters.get(SwingBenchTask.JDBC_CONNECTION);
boolean success = true;
// getObjArray returns one object array with values
Object[] object2Values = getObjArray("input.txt");
oracle.sql.StructDescriptor structDesc = oracle.sql.StructDescriptor.createDescriptor(typeName, connection);
oracle.sql.STRUCT object1 = new oracle.sql.STRUCT(structDesc, connection, object2Values);
String query = "{call ? :=change_offer(?,?)}";
CallableStatement stmt = connection.prepareCall(query);
long executeStart = System.nanoTime();
try
{
    stmt.registerOutParameter(1, OracleTypes.NUMBER);
    stmt.setObject(2, object1, OracleTypes.STRUCT);
    stmt.registerOutParameter(3, OracleTypes.STRUCT, OutTypeName);
    stmt.execute();
    stmt.close();
} catch (Exception ex)
{
    success = false;
    System.err.println("Error :" + ex);
}

类oralce.sql.STRUCT的构造函数引发以下异常

java.sql.SQLException: ORA-01427:单行子查询返回多行

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-21 09:43:04

我修正了错误。我给类型名加上架构名。

代码语言:javascript
运行
复制
oracle.sql.StructDescriptor structDesc = oracle.sql.StructDescriptor.createDescriptor(schema.typeName, connection);
oracle.sql.STRUCT object1 = new oracle.sql.STRUCT(structDesc, connection, object2Values);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7832177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档