RE: Problem with stored procedure and resultMap or resultClass?

2005-06-03 Thread Niels Beekman
Maybe because you are putting a '@casefileId' in your parameterName? Try using 
'casefileId'.

Hope this helps,

Niels


From: Ravi Sundaar [mailto:[EMAIL PROTECTED] 
Sent: vrijdag 3 juni 2005 12:44
To: ibatis-user-java@incubator.apache.org
Cc: [EMAIL PROTECTED]
Subject: Problem with stored procedure and resultMap or resultClass?

 am running into a problem accessing result sets from stored procedure using 
ibatis datamapper. 
My DBMS is sybase and driver is Jtds.
Here is the sqlmap: 
?xml version=1.0 encoding=UTF-8 standalone=no?
!DOCTYPE sqlMap PUBLIC -//iBATIS.com//DTD SQL Map 2.0//EN 
http://www.ibatis.com/dtd/sql-map-2.dtd;
sqlMap namespace=PropAssessmentNameSpace 
!-- typeAlias alias=assessment type=PropAssessment/ --
resultMap id=propAssessmentResult class=PropAssessment
result property=rptdPropStrAddr column=RptdPropStrAddr nullValue=/ 
/resultMap 
parameterMap id=PropAssessmentParamMap class=java.util.HashMap 
parameter property=casefileId jdbcType=VARCHAR
javaType=java.lang.String mode=IN/
/parameterMap 
procedure id=stpRtrvPropAssessmtId parameterMap=PropAssessmentParamMap 
resultClass=PropAssessment 
{call stpRtrvPropAssessmt (?)}

/procedure 
/sqlMap 
__
The code snippet that invokes the procedure is below:
HashMap paramMap = new HashMap();
paramMap.put(@casefileId, ravi4);
DataSource ds = sqlMap.getDataSource();
sqlMap.setUserConnection(conn); 
sqlMap.queryForObject(stpRtrvPropAssessmtId, paramMap);
When I execute the stored procedure in isql mode, with ravi4 as the input 
param, it gives me one row as the result set. 

Here is the stack trace and log from executing the procedure through ibatis:
DEBUG 06-02 10:53:34 
Unknown macro: 
Unknown macro: {conn-10}
Connection (ConnectionLogProxy.java:42) 
DEBUG 06-02 10:53:34 
Unknown macro: 
Unknown macro: {pstm-11}
PreparedStatement: (PreparedStatementLogProxy.java:48) 
DEBUG 06-02 10:53:34 
Unknown macro: 
Unknown macro: {pstm-11}
Parameters: [ravi4] (PreparedStatementLogProxy.java:49) 
DEBUG 06-02 10:53:34 Types: [java.lang.String] 
(PreparedStatementLogProxy.java:50) 
DEBUG 06-02 10:53:34 
Unknown macro: {rset-12}
ResultSet (ResultSetLogProxy.java:41) 
com.ibatis.common.jdbc.exception.NestedSQLException: 
- The error occurred in config/PropAssessment.xml. 
- The error occurred while applying a parameter map. 
- Check the PropAssessmentNameSpace.PropAssessmentParamMap. 
- Check the results (failed to retrieve results). 
- Cause: java.lang.NullPointerException
Caused by: java.lang.NullPointerException
at 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:184)
at 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:100)
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:97)
at 
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:69)
at PropAssessment.main(PropAssessment.java:266)
Caused by: java.lang.NullPointerException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at 
com.ibatis.common.jdbc.logging.ResultSetLogProxy.invoke(ResultSetLogProxy.java:47)
at $Proxy2.close(Unknown Source)
at 
com.ibatis.sqlmap.engine.execution.SqlExecutor.closeResultSet(SqlExecutor.java:392)
at 
com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQueryProcedure(SqlExecutor.java:298)
at 
com.ibatis.sqlmap.engine.mapping.statement.ProcedureStatement.sqlExecuteQuery(ProcedureStatement.java:34)
at 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:169)
... 6 more 
Caused by: 
java.lang.NullPointerException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at 
com.ibatis.common.jdbc.logging.ResultSetLogProxy.invoke(ResultSetLogProxy.java:47)
at $Proxy2.close(Unknown Source)
at 
com.ibatis.sqlmap.engine.execution.SqlExecutor.closeResultSet(SqlExecutor.java:392)
at 
com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQueryProcedure(SqlExecutor.java:298)
at 
com.ibatis.sqlmap.engine.mapping.statement.ProcedureStatement.sqlExecuteQuery(ProcedureStatement.java:34)
at 
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:169)
at 

RE: Problem with stored procedure and resultMap or resultClass?

2005-06-03 Thread Ravi Sundaar

Actually, I did use "casefileId" and not "@casefileId" - using "@casefileId" was one of my desperate attempts after trying so many different things. The result is the same, nevertheless...
Thanks for the suggestion anyway.
Any other thoughts?
Ravi.From: "Niels Beekman" [EMAIL PROTECTED]Reply-To: ibatis-user-java@incubator.apache.orgTo: ibatis-user-java@incubator.apache.orgSubject: RE: Problem with stored procedure and resultMap or resultClass?Date: Fri, 3 Jun 2005 13:06:57 +0200Maybe because you are putting a '@casefileId' in your parameterName? Try using 'casefileId'.Hope this helps,NielsFrom: Ravi Sundaar [mailto:[EMAIL PROTECTED]Sent: vrijdag 3 juni 2005 12:44To: ibatis-user-java@incubator.apache.orgCc: [EMAIL PROTECTED]Subject: Problem with stored procedure and resultMap or resultClass?am running into a problem accessing result sets from stored procedure using ibatis 
datamapper.My DBMS is sybase and driver is Jtds.Here is the sqlmap:?xml version="1.0" encoding="UTF-8" standalone="no"?!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"sqlMap namespace="PropAssessmentNameSpace"!-- typeAlias alias="assessment" type="PropAssessment"/ --resultMap id="propAssessmentResult" class="PropAssessment"result property="rptdPropStrAddr" column="RptdPropStrAddr" nullValue=""//resultMapparameterMap id="PropAssessmentParamMap" class="java.util.HashMap" parameter property="casefileId" jdbcType="VARCHAR"javaType="java.lang.String" mode="IN"//parameterMapprocedure id="stpRtrvPropAssessmtId" 
parameterMap="PropAssessmentParamMap" resultClass="PropAssessment"{call stpRtrvPropAssessmt (?)}/procedure/sqlMap__The code snippet that invokes the procedure is below:HashMap paramMap = new HashMap();paramMap.put("@casefileId", "ravi4");DataSource ds = sqlMap.getDataSource();sqlMap.setUserConnection(conn);sqlMap.queryForObject("stpRtrvPropAssessmtId", paramMap);When I execute the stored procedure in isql mode, with "ravi4" as the input param, it gives me one row as the result set.Here is the stack trace and log from executing the procedure through ibatis:DEBUG 06-02 10:53:34Unknown macro:Unknown macro: {conn-10}Connection 
(ConnectionLogProxy.java:42)DEBUG 06-02 10:53:34Unknown macro:Unknown macro: {pstm-11}PreparedStatement: (PreparedStatementLogProxy.java:48)DEBUG 06-02 10:53:34Unknown macro:Unknown macro: {pstm-11}Parameters: [ravi4] (PreparedStatementLogProxy.java:49)DEBUG 06-02 10:53:34 Types: [java.lang.String] (PreparedStatementLogProxy.java:50)DEBUG 06-02 10:53:34Unknown macro: {rset-12}ResultSet (ResultSetLogProxy.java:41)com.ibatis.common.jdbc.exception.NestedSQLException:- The error occurred in config/PropAssessment.xml.- The error occurred while applying a parameter map.- Check the PropAssessmentNameSpace.PropAssessmentParamMap.- Check the results (failed to retrieve results).- Cause: java.lang.NullPointerExceptionCaused by: 
java.lang.NullPointerExceptionat com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:184)at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:100)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:97)at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:69)at PropAssessment.main(PropAssessment.java:266)Caused by: java.lang.NullPointerExceptionat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at 
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at com.ibatis.common.jdbc.logging.ResultSetLogProxy.invoke(ResultSetLogProxy.java:47)at $Proxy2.close(Unknown Source)at com.ibatis.sqlmap.engine.execution.SqlExecutor.closeResultSet(SqlExecutor.java:392)at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQueryProcedure(SqlExecutor.java:298)at com.ibatis.sqlmap.engine.mapping.statement.ProcedureStatement.sqlExecuteQuery(ProcedureStatement.java:34)at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:169)... 6 moreCaused by:java.lang.NullPointerExceptionat sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at com.ibatis.common.jdbc.logging.ResultSetLogProxy.invoke(ResultSetLogProxy.java:47)at $Proxy2.close(Unknown Source)at 

RE: Problem with stored procedure and resultMap or resultClass?

2005-06-03 Thread Ravi Sundaar

My question is fairly simple:
How can I use ibatis to get result sets from a stored procedure that has no "OUT" or "INOUT" parameters? 
The stored procedures that I need to invoke take one or more "IN" parameters and generate one or more result sets. They don't have any declared "OUT" or "INOUT" parameters.
Does someone have an example that could help me (and several others)? Or, can you point me in the right direction?
The DBMS I am using is Sybase, if that matters.
Thanks a lot!
Ravi.
---BeginMessage---
am running into a problem accessing result sets from stored procedure using ibatis datamapper. 
My DBMS is sybase and driver is Jtds.
Here is the sqlmap: 
?xml version="1.0" encoding="UTF-8" standalone="no"?!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"
sqlMap namespace="PropAssessmentNameSpace" 
!-- typeAlias alias="assessment" type="PropAssessment"/ --
resultMap id="propAssessmentResult" class="PropAssessment"result property="rptdPropStrAddr" column="RptdPropStrAddr" nullValue=""/ /resultMap 
parameterMap id="PropAssessmentParamMap" class="java.util.HashMap" parameter property="casefileId" jdbcType="VARCHAR"javaType="java.lang.String" mode="IN"/
/parameterMap 
procedure id="stpRtrvPropAssessmtId" parameterMap="PropAssessmentParamMap" resultClass="PropAssessment"

{call stpRtrvPropAssessmt (?)}
/procedure 

/sqlMap __
The code snippet that invokes the procedure is below:
HashMap paramMap = new HashMap();paramMap.put("@casefileId", "ravi4");DataSource ds = sqlMap.getDataSource();sqlMap.setUserConnection(conn); 
sqlMap.queryForObject("stpRtrvPropAssessmtId", paramMap);
When I execute the stored procedure in isql mode, with "ravi4" as the input param, it gives me one row as the result set. 

Here is the stack trace and log from executing the procedure through ibatis:
DEBUG 06-02 10:53:34 
Unknown macro:
Unknown macro: {conn-10}
Connection (ConnectionLogProxy.java:42) DEBUG 06-02 10:53:34 
Unknown macro:
Unknown macro: {pstm-11}
PreparedStatement: (PreparedStatementLogProxy.java:48) DEBUG 06-02 10:53:34 
Unknown macro:
Unknown macro: {pstm-11}
Parameters: [ravi4] (PreparedStatementLogProxy.java:49) DEBUG 06-02 10:53:34 Types: [java.lang.String] (PreparedStatementLogProxy.java:50) DEBUG 06-02 10:53:34 
Unknown macro: {rset-12}
ResultSet (ResultSetLogProxy.java:41) com.ibatis.common.jdbc.exception.NestedSQLException: — The error occurred in config/PropAssessment.xml. — The error occurred while applying a parameter map. — Check the PropAssessmentNameSpace.PropAssessmentParamMap. — Check the results (failed to retrieve results). — Cause: java.lang.NullPointerExceptionCaused by: java.lang.NullPointerExceptionat com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:184)at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:100)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:97)at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:69)at PropAssessment.main(PropAssessment.java:266)Caused by: java.lang.NullPointerExceptionat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at com.ibatis.common.jdbc.logging.ResultSetLogProxy.invoke(ResultSetLogProxy.java:47)at $Proxy2.close(Unknown Source)at com.ibatis.sqlmap.engine.execution.SqlExecutor.closeResultSet(SqlExecutor.java:392)at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQueryProcedure(SqlExecutor.java:298)at 
com.ibatis.sqlmap.engine.mapping.statement.ProcedureStatement.sqlExecuteQuery(ProcedureStatement.java:34)at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:169)… 6 more 
Caused by: java.lang.NullPointerExceptionat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at com.ibatis.common.jdbc.logging.ResultSetLogProxy.invoke(ResultSetLogProxy.java:47)at $Proxy2.close(Unknown Source)at com.ibatis.sqlmap.engine.execution.SqlExecutor.closeResultSet(SqlExecutor.java:392)at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQueryProcedure(SqlExecutor.java:298)at com.ibatis.sqlmap.engine.mapping.statement.ProcedureStatement.sqlExecuteQuery(ProcedureStatement.java:34)at