ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "disalle" <disa...@di.univaq.it>
Subject oracle procedure INOUT problem
Date Mon, 26 Mar 2007 09:13:04 GMT
Hi all,
I am calling an Oracle procedure with Ibatis 2.3.0 but I have the
following exception:
com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in impl/ibatis/xml/circhi.xml.  
--- The error occurred while executing update procedure.  
--- Check the {call
anagrafiche.ins_circhi(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? ) }.  
--- Check the output parameters (register output parameters failed).  
--- Cause: java.sql.SQLException: Tipo di colonna non valido
	at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdat
e(GeneralStatement.java:91)
	at
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecut
orDelegate.java:447)
	at
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl
.java:82)
	at
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.j
ava:59)
	at xxxxx.IBatisCirchiDAO.createCirco(IBatisCirchiDAO.java:19)

The problem is is the crcId parameter.
I have created a testcase and i have debugged it and the exception is
throwed in "cs.registerOutParameter(i + 1, mapping.getJdbcType());" in
the SqlExecutor class.

The procedure is 
<procedure id="createCirco" parameterClass="test.CircoTO">
        {call anagrafiche.ins_circhi(
 
#crcId,javaType=int,jdbcType=INTEGER,mode=INOUT#,
 
#codice,javaType=string,jdbcType=VARCHAR2,mode=IN#,
 
#denominazione,javaType=string,jdbcType=VARCHAR2,mode=IN#,
 
#indirizzo,javaType=string,jdbcType=VARCHAR2,mode=IN#,
 
#localita,javaType=string,jdbcType=VARCHAR2,mode=IN#,
                        #cap,javaType=string,jdbcType=CHAR,mode=IN#,
 
#comIstat,javaType=string,jdbcType=CHAR,mode=IN#,
 
#proSigla,javaType=string,jdbcType=CHAR,mode=IN#,
 
#tscCodice,javaType=string,jdbcType=VARCHAR2,mode=IN#,
 
#opcrcIdFiscaleProp,javaType=string,jdbcType=VARCHAR2,mode=IN#,
 
#opcrcIdFiscaleOper,javaType=string,jdbcType=VARCHAR2,mode=IN#,
 
#dataRilascio,javaType=date,jdbcType=TIMESTAMP,mode=IN#,
 
#aslCodice,javaType=string,jdbcType=CHAR,mode=IN#,
 
#stCodice,javaType=string,jdbcType=CHAR,mode=IN#,
 
#utenteCodice,javaType=string,jdbcType=VARCHAR2,mode=IN#,
 
#dummy,javaType=string,jdbcType=VARCHAR2,mode=INOUT#,
 
#dummy,javaType=string,jdbcType=VARCHAR2,mode=INOUT#,
 
#dummy,javaType=string,jdbcType=VARCHAR2,mode=INOUT# )
        }
</procedure>

Thanks in advance
/Amleto


Mime
View raw message