Setting Out Parameter for Stored Procedure fails. Error says "Invalid data type"
--------------------------------------------------------------------------------
Key: IBATIS-444
URL: https://issues.apache.org/jira/browse/IBATIS-444
Project: iBatis for Java
Issue Type: Bug
Components: SQL Maps
Affects Versions: 2.3.0, 2.2.0
Environment: Java 1.6, Ibatis 2.2 and 2.3, Oracle 10g
Reporter: Ramona Krickan
I am running the following code:
create or replace procedure maximum
(a in integer, b in integer, c out integer) as
begin
if (a > b) then c := a; end if;
if (b >= a) then c:= b; end if;
end;
<parameterMap id="maxOut" class="java.util.Map">
<parameter property="a" mode="IN"/>
<parameter property="b" mode="IN"/>
<parameter property="c" mode="OUT"/>
</parameterMap>
<procedure id="maxOutProcedure" parameterMap="maxOut">
{ call maximum (?, ?, ?) }
</procedure>
Map m = new HashMap(2);
m.put("a", new Integer(7));
m.put("b", new Integer(5));
sqlMap.queryForObject("maxOutProcedure", m);
Integer value = (Integer) m.get("c");
Exception:
com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/zooplus/dbo/maps/jobs/logistics/logistics.xml.
--- The error occurred while executing query procedure.
--- Check the { call maximum (?, ?, ?) }.
--- Check the output parameters (register output parameters failed).
--- Cause: java.sql.SQLException: Ungültiger Spaltentyp // invalid data type
Caused by: java.sql.SQLException: Ungültiger Spaltentyp
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:565)
at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:540)
at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
at
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:84)
at com.zooplus.jobs.SqlMapPlugin.queryForObject(SqlMapPlugin.java:437)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.