You are right..i had to iterate through the list to get the results, didnt put that properly too, but i didnt know this problem earlier, since i was stuck in a totally another issue which never let the control reach here..
Let me know if u want me to paste the code.. bpamarti wrote: > > Hi, > > Are you able to get the data in the "List"? > > My understanding is that Oracle Cursor returns a resultset and we need to > iterate through the resultset and populate a List with the beans. > > String resource; > Reader reader; > SqlMapClient sqlMap; > resource = "company/xyz/core/persistence/sql-map-config.xml"; > reader = Resources.getResourceAsReader(resource); > sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); > > > HashMap params = new HashMap(); > params.put("criteriaParam", new Integer(11)); > > // This returns an empty list for me > // List list = > sqlMap.queryForList("getCertificateByCertificateId", params); > > // I am doing something like this right now > sqlMap.update("getCertificateByCertificateId", params); > ResultSet rset = (ResultSet) map.get("outputCursorParam"); > > > > mfs wrote: >> >> Guys, >> >> I just started using iBatis, and i think its a great framework, and would >> want to employ the same in our company for the persistance layer...Also >> "iBatis in Action" is a very well written book, great job Clinton, Larry >> and Brandon... >> >> Anyways coming to the problem...So am facing this "protocol voilation" >> error when using oraclecursors (have followed the example on wiki) >> propogated on SimpleDataSource.pushConnection() with the stack trace >> below...using selects just works fine its just when using oraclecursors i >> face this problem >> >> Also after the stack trace i have posted by sqlmap-config and sqlmapping >> itself and the client.. >> >> would appreciate any input.. >> >> Exception in thread "main" java.sql.SQLException: Protocol violation >> at >> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:166) >> at >> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:217) >> at oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:1377) >> at oracle.jdbc.driver.T4C7Ocommoncall.receive(T4C7Ocommoncall.java:132) >> at oracle.jdbc.driver.T4CConnection.do_rollback(T4CConnection.java:530) >> at >> oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1291) >> at >> com.ibatis.common.jdbc.SimpleDataSource.pushConnection(SimpleDataSource.java:527) >> at >> com.ibatis.common.jdbc.SimpleDataSource.access$100(SimpleDataSource.java:52) >> at >> com.ibatis.common.jdbc.SimpleDataSource$SimplePooledConnection.invoke(SimpleDataSource.java:954) >> at $Proxy0.close(Unknown Source) >> at >> com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.close(JdbcTransaction.java:81) >> at >> com.ibatis.sqlmap.engine.transaction.TransactionManager.end(TransactionManager.java:111) >> at >> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.endTransaction(SqlMapExecutorDelegate.java:782) >> at >> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.endTransaction(SqlMapSessionImpl.java:176) >> at >> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.endTransaction(SqlMapClientImpl.java:154) >> at >> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.autoEndTransaction(SqlMapExecutorDelegate.java:883) >> at >> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:622) >> at >> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:589) >> at >> com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118) >> at >> com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:95) >> >> >> <-- XYZCertificate.xml --> >> >> <sqlMap namespace="Certificate"> >> >> <typeAlias alias="certificate" >> type="company.xyzcore.domain.Certificate"/> >> >> <resultMap id="certificateResult" class="exemptionCertificate"> >> <result property="certificateId" column="CERT_ID"/> >> <result property="name" column="NAME"/> >> </resultMap> >> >> <parameterMap id="outCursorParamMap" class="map"> >> <parameter property="criteriaParam" jdbcType="int" >> javaType="java.lang.Integer" mode="IN"/> >> <parameter property="outputCursorParam" jdbcType="ORACLECURSOR" >> mode="OUT" resultMap="certificateResult" /> >> </parameterMap> >> >> <procedure id="getCertificateByCertificateId" >> parameterMap="outCursorParamMap"> >> { call test.concept_test_api.get_cert_id(?, ?) } >> </procedure> >> >> </sqlMap> >> >> >> >> <!-- SQL MAP CONFIG --> >> >> <sqlMapConfig> >> >> <transactionManager type="JDBC" commitRequired="false"> >> <dataSource type="SIMPLE"> >> <property name="JDBC.Driver" >> value="oracle.jdbc.OracleDriver" /> >> <!--property name="JDBC.ConnectionURL" >> value="jdbc:oracle:thin:@192.168.111.212:1521:somedb" /--> >> <property name="JDBC.ConnectionURL" >> value="jdbc:oracle:thin:@//192.168.111.106:1521/mydb" /> >> <property name="JDBC.Username" value="myusername" /> >> <property name="JDBC.Password" value="mypassword" /> >> </dataSource> >> </transactionManager> >> >> <sqlMap resource="company/xyz/core/persistence/XYZCertificate.xml"/> >> >> </sqlMapConfig> >> >> Caller code >> ------------------- >> >> String resource; >> Reader reader; >> SqlMapClient sqlMap; >> resource = "company/xyz/core/persistence/sql-map-config.xml"; >> reader = Resources.getResourceAsReader(resource); >> sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); >> >> >> HashMap params = new HashMap(); >> params.put("criteriaParam", new Integer(11)); >> List list = sqlMap.queryForList("getCertificateByCertificateId", >> params); >> >> >> Thanks in advance.. >> >> > > -- View this message in context: http://www.nabble.com/Protocol-Error---SimpleDataSource.pushConnection%28%29-when-using-oraclecursors-tp17093837p17110744.html Sent from the iBATIS - User - Java mailing list archive at Nabble.com.