Hi All, I'm running into an issue that I cannot resolve. If you can provide any assistance, your help would be much appreciated.
The environment consists of Ibatis, along with Apache and Tomcat on Linux connecting to a DB2 database on an as400. Insert statements that once worked, are suddenly failing with the following error: java.sql.SQLException: The number of parameter values set or registered does not match the number of parameters. com.ibm.as400.access.JDError.throwSQLException(JDError.java:360) com.ibm.as400.access.AS400JDBCPreparedStatement.commonExecuteBefore(AS400JDBCPreparedStatement.java:464) com.ibm.as400.access.AS400JDBCStatement.commonExecute(AS400JDBCStatement.java:631) com.ibm.as400.access.AS400JDBCPreparedStatement.execute(AS400JDBCPreparedStatement.java:726) com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:81) com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:200) com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78) com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:505) com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:90) com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.update(SqlMapClientImpl.java:67) net.diginc.digicon.dao.HomeOfficeAdminDAO.updateContractStatus(HomeOfficeAdminDAO.java:172) net.diginc.digicon.services.HomeOfficeAdminService.abandonContract(HomeOfficeAdminService.java:359) org.apache.jsp.ProcessAbandonContract_jsp._jspService(ProcessAbandonContract_jsp.java:65) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) Here is the DAO insert code: public void updateContractStatus( String contractId, ContractStatus contractStatus ) throws Exception { SqlMapClient sqlMap = FdlicSqlConfiguration.getSqlMapInstance(); HashMap<String,Object> parameters = new HashMap<String, Object>(); parameters.put("contractStatusCode", contractStatus.getCode() ); parameters.put("contractId", contractId ); sqlMap.update("updateContractStatus", parameters ); } Here is the map from the sqlmap: <parameterMap id="update" class="java.util.Map"> <parameter property="contractStatusCode" jdbcType="INTEGER"/> <parameter property="contractId" jdbcType="VARCHAR"/> </parameterMap> <update id="updateContractStatus" parameterMap="update"> update digicon.contract set contractStatusCode = ? where contractId = ? </update> It appears to me as though the "?" are not being substituted. Any thoughts would be greatly appreciated. Best Regards, Robert Krenek