Hi:
I have a problen when i call a store procedure whith ibatis.
The store procedure is only for testing and the source is:

CREATE PROCEDURE ptest2
(@a varchar(20) output,
 @b varchar(20) 
)
as
set @[EMAIL PROTECTED]
go

The xml code is:

<parameterMap id="mapeo" class="map" >
      <parameter property="a" jdbcType="VARCHAR" javaType="java.lang.String" 
mode="OUT"/>
      <parameter property="b" jdbcType="VARCHAR" javaType="java.lang.String" 
mode="IN"/>
</parameterMap>

<procedure id="ptest2"  parameterMap="mapeo" >
       {? = call ptest2 (?) }
</procedure>

And the java source is:
try{Map m;
      m=new HashMap();
      m.put("a",null);
      m.put("b","fsee");
      client.queryForObject("ptest2",m);
    }
catch(Exception ex)
         {System.out.println(ex.getMessage());
          ex.printStackTrace(System.out);
          }

The aplication throws this exception:
--- The error occurred in ibatis/procedure/Procedures.xml.  
--- The error occurred while executing update procedure.  
--- Check the {? = call ptest2 (?) }.  
--- Check the output parameters (register output parameters failed).  
--- Cause: java.sql.SQLException: Procedure return value is integer.
com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in ibatis/procedure/Procedures.xml.  
--- The error occurred while executing update procedure.  
--- Check the {? = call ptest2 (?) }.  
--- Check the output parameters (register output parameters failed).  
--- Cause: java.sql.SQLException: Procedure return value is integer.
Caused by: java.sql.SQLException: Procedure return value is integer.
        at 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:72)
        at 
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:230)
        at 
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:57)
        at 
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:34)
        at ar.org.ubp.ecogas.dao.ProcedureDao.test2(ProcedureDao.java:55)
        at 
ar.org.ubp.ecogas.service.ProcedureService.test2(ProcedureService.java:28)
        at iguUsuario.AppFrame.<init>(AppFrame.java:147)
        at iguUsuario.AppFrame.teInstancio(AppFrame.java:153)
        at iguUsuario.AppFrame.main(AppFrame.java:161)

What is hapen???
Some body can help me???

Thanks
Luciano
        
        

        
        
        

Reply via email to