It works fine!!!
Thanks!!! :-)

Another question... Oracle PL/SQL tables aren't supported? is there expected to support them in future versions?

Mike Fagan wrote:

Juan,

Sorry I missed the change for namespaces. If you download the source from the wiki it should work fine for you.
(I even tested with your sample code)

Regards,
Mike Fagan

Juan Cañadas wrote:

ok, thanks...

i have been replaced older ibatis jars.... now, i get this error...

com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in es/xx/dao/rdb/usuario.xml. --- The error occurred while applying a parameter map. --- Check the Usuario.getUsuariosRefPM. --- Check the output parameters (retrieval of output parameters failed). --- Cause: com.ibatis.sqlmap.client.SqlMapException: There is no result map named getUsuarioRef in this SqlMap. Caused by: com.ibatis.sqlmap.client.SqlMapException: There is no result map named getUsuarioRef in this SqlMap. at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:188) at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:561) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:536) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:93) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:70)
   at es.tid.imagenio.eai.Prueba.main(Prueba.java:100)

someone can help me?

thanks....

Mike Fagan wrote:

Juan,

The source code has been updated to fix this error. You can download patch code at: http://opensource2.atlassian.com/confluence/oss/pages/viewpageattachments.action?pageId=561

Regards,
Mike Fagan

Juan Cañadas wrote:

Hi

I'm trying to get a list of values from an oracle stored procedure....

I've been updated ibates to support oracle's cursor (http://opensource2.atlassian.com/confluence/oss/display/IBATIS/Oracle+REF+CURSOR+Solutions)
but when i run the program it raises the error:
--------------------
Caused by: java.sql.SQLException: ORA-01002: fetch out of sequence

at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:185)
--------------------

Oracle code:

CREATE OR REPLACE Package TypesPackage AS
    TYPE ref_cursor IS REF CURSOR;
 END TypesPackage;
/

CREATE OR REPLACE PACKAGE BODY SYSPackage is
PROCEDURE getUsuariosCursor (usuariosCursor OUT TypesPackage.ref_cursor) AS BEGIN
      OPEN usuariosCursor FOR
SELECT userid, login, tipousr, descr, email FROM usuario ORDER BY login;
  END getUsuariosCursor;
END;
/

--------------------
usuario.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd";>
<sqlMap namespace="Usuario">
<typeAlias alias="usuario" type="es.miEmpresa.miProyecto.modelo.Usuario" />

<resultMap id="getUsuarioRef" class="usuario">
  <result property="id" column="userid" />
  <result property="login" column="login" />
  <result property="tipo" column="tipousr" />
  <result property="descripcion" column="descr" />
  <result property="email" column="email" />
</resultMap>

<parameterMap id="getUsuariosRefPM" class="map">
<parameter property="usuariosCursor" jdbcType="ORACLECURSOR" mode="OUT" resultMap="getUsuarioRef" />
</parameterMap>

<procedure id="getUsuariosRef" parameterMap="getUsuariosRefPM">
  { call SYSPackage.getUsuariosCursor(?) }
</procedure>

</sqlMap>
--------------------
and the java source:

      Map map = new HashMap();
      //List list;
      try {
          Prueba.sqlMap.queryForObject("getUsuariosRef", map);
          System.out.println(map.get("usuariosCursor"));
      }catch(Exception e){
          e.printStackTrace();
      }

Can anyone help me? what is wrong? how can i solve this problem? i'm newbie in java and ibates...

Thanks








Reply via email to