oracle's user-defined objects are not supported as store procedure out
parameters
------------------------------------------------------------------------------------
Key: IBATIS-145
URL: http://issues.apache.org/jira/browse/IBATIS-145
Project: iBatis for Java
Type: Improvement
Components: SQL Maps
Versions: 2.1.0
Environment: oracle and maybe any others db that support user defined data
types
Reporter: davide papotti
we have to call legacy oracle store procedure with named array types as output
parameters. When I try it I get an invalid parameter type exception
This problem arises because to use these params the SQLExecutor class should
call the “callableStatement.registerOutputParameters” method version with
the typeName param. In fact the java doc of this method suggests "This version
of the method registerOutParameter should be used for a user-defined or REF
output parameter" and "To be portable, however, applications should always
provide these values for user-defined and REF parameters. Although it is
intended for user-defined and REF parameters, this method may be used to
register a parameter of any JDBC type. If the parameter does not have a
user-defined or REF type, the typeName parameter is ignored "
To handle this problem I have made some changes in source code and dtd file,
but I hope that in a next version this problem will be resolved.
Following the changes that I have made to add this enhancement:
Added property typeName to bean BasicParameterMapping, with set and get
methods.
Added code that load typeName param from xml in SqlMapParser and code that save
it as property of the current instance of mapping.
Changed the SQLExecutor, now before call the
CallableStatement.registerOutputParameter the registerOutputParameters method
checks if the typeName of the given map parameter is not null. If it so it
calls the overloaded method registerOutParameter(int paramIndex,int
sqlType,String typeName) instead of registerOutParameter(int paramIndex,int
sqlType.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira