[groovy-user] Sql.call with named parameters

8 views
Skip to first unread message

Daniel Plappert

unread,
Nov 17, 2010, 5:53:11 AM11/17/10
to us...@groovy.codehaus.org
Hi all,

I came across a problem while using named parameters and Sql.call. I wanted to call a stored function like this:

sql.call("{?1.returnType = call method(?2.valueA, ?2.valueB)}", [Sql.resultSet(OracleTypes.CURSOR)], myDto)

But got following exception:

java.sql.SQLException: Invalid column type
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:7937)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:7517)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8174)
at oracle.jdbc.driver.OracleCallableStatement.setObject(OracleCallableStatement.java:4094)


The same exception is thrown calling the stored function this way:

sql.call("{:returnType = call method($myDto.valueA, $myDto.valueB)}", [returnType: Sql.resultSet(OracleTypes.CURSOR)])

Is this a problem with Oracle or isn't it possible to use named parameters with stored functions?
I am using groovy 1.7.4 (with grails 1.3.4).

Thanks again for your help.

Best regards,
Daniel

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


Reply all
Reply to author
Forward
0 new messages