![](/img/trans.png)
[英]How to get return value from stored procedure with output parameter in Grails?
[英]Grails call stored procedure with output parameter
如何在 grails 中使用参数调用 Oracle 过程,produre 如下所示,
var returntype number; begin IZMST_PKG_SOLO_GENERATE_SQL.pro_get_row_cnt(1,181,:returntype); end;
我曾尝试调用此过程,但程序遇到错误,您可以查看以下错误消息。
org.apache.commons.dbcp.DelegatingCallableStatement with address:
"oracle.jdbc.driver.OracleCallableStatementWrapper@52d0d407" is
closed.. Stacktrace follows: java.sql.SQLException:
org.apache.commons.dbcp.DelegatingCallableStatement with address:
"oracle.jdbc.driver.OracleCallableStatementWrapper@52d0d407" is
closed. at
org.apache.commons.dbcp.DelegatingStatement.checkOpen(DelegatingStatement.java:137)
at
org.apache.commons.dbcp.DelegatingCallableStatement.getObject(DelegatingCallableStatement.java:144)
at
com.pg.izoom.de.ExtractManagementController$$EO5PWcUR.addExtract(ExtractManagementController.groovy:74)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
粘贴了一段代码
Connection conn = dataSource.getConnection()
Sql sql = new Sql(conn)
//int test = sql.call("",)
sql.call'BEGIN IZMST_PKG_SOLO_GENERATE_SQL.pro_get_row_cnt(?,?,?); END;',[1L,qryId,Sql.resultSet(OracleTypes.NUMBER)],{dwells->
println dwells
}
PS:这个问题已经解决了,更新一下描述,让这个问题更容易理解。
如果我理解,您的返回类型是number
,因此您可以直接使用Sql.NUMERIC
。
sql.call '{call IZMST_PKG_SOLO_GENERATE_SQL.pro_get_row_cnt(?,?,?) }',[1L, qryId, Sql.NUMERIC],{ dwells ->
println dwells
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.