ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Butler" <jeffgbut...@gmail.com>
Subject Re: oracle procedure INOUT problem
Date Mon, 26 Mar 2007 14:31:34 GMT
Some initial observations...

1. VARCHAR2 is not a valid JDBC type - it is Oracle specific
2. You have three INOUT parameters all tied to the same property (dummy) in
your parameter object - that doesn't seem right to me.

Jeff Butler



On 3/26/07, disalle <disalle@di.univaq.it> wrote:
>
> 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