Technote

(FAQ)
DB2JDBCException occurs when updating a user password on i5/OS V5R3
Problem
In WebSphere Commerce version 6.0.0.2, a user can be configured to keep more than one previous password such that these previous passwords cannot be reused.
In an i5/OS V5R3 environment, if a user with this configuration wants to change a password, the following DB2JDBCException will be observed:

[3/12/07 14:14:24:429 EST] 00000031 CommerceSrvr E com.ibm.commerce.security.commands.helper.UserPasswordHistory updateUserPasswordHistory(UserRegistryAccessBean) CMN0417E: The following SQL exception has occurred during processing: "com.ibm.db2.jdbc.app.DB2JDBCException: Data type mismatch.
at java.lang.Throwable.<init>(Throwable.java:195)
at java.lang.Exception.<init>(Exception.java:41)
at java.sql.SQLException.<init>(SQLException.java:40)
at com.ibm.db2.jdbc.app.DB2JDBCException.<init>(DB2JDBCException.java:151)
at com.ibm.db2.jdbc.app.SQLChar.set(SQLChar.java:163)
at com.ibm.db2.jdbc.app.DB2PreparedStatement.setValue(DB2PreparedStatement.java:2954)
at com.ibm.db2.jdbc.app.DB2PreparedStatement.setObject(DB2PreparedStatement.java:1805)
at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.setObject(WSJdbcPreparedStatement.java:1141)
at com.ibm.commerce.base.objects.ServerJDBCHelperBean.executeParameterizedUpdate(ServerJDBCHelperBean.java:431)
at com.ibm.commerce.base.objects.EJSRemoteStatelessServerJDBCHelper_1e86a748.executeParameterizedUpdate(EJSRemoteStatelessServerJDBCHelper_1e86a748.java:29)
at com.ibm.commerce.base.objects._ServerJDBCHelper_Stub.executeParameterizedUpdate(_ServerJDBCHelper_Stub.java:1242)
at com.ibm.commerce.base.objects.ServerJDBCHelperAccessBean.executeParameterizedUpdate(ServerJDBCHelperAccessBean.java:335)
at com.ibm.commerce.security.commands.helper.UserPasswordHistory.updateUserPasswordHistory(UserPasswordHistory.java:316)
at com.ibm.commerce.security.commands.DBAuthenticationCmdImpl.updateUserRegRecord(DBAuthenticationCmdImpl.java:432)
at com.ibm.commerce.security.commands.DBAuthenticationCmdImpl.performOneWayHashAuthentication(DBAuthenticationCmdImpl.java:248)
at com.ibm.commerce.security.commands.DBAuthenticationCmdImpl.performExecute(DBAuthenticationCmdImpl.java:181)
at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:157)
at com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:335)
at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:168)
at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:169)
at com.ibm.commerce.security.commands.UpdateCredentialsCmdImpl.performExecute(UpdateCredentialsCmdImpl.java:271)
at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:157)
at com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:335)
at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:168)
at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:169)
at com.ibm.commerce.usermanagement.commands.UserRegistrationCmdImpl.UpdateCredentials(UserRegistrationCmdImpl.java:4840)
at com.ibm.commerce.usermanagement.commands.UserRegistrationUpdateCmdImpl.performExecute(UserRegistrationUpdateCmdImpl.java:257)
at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:157)
at com.ibm.ws.cache.command.CommandCache.executeCommand(CommandCache.java:335)
at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:168)
at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:169)
at com.ibm.commerce.component.BaseComponentImpl.executeCommand(BaseComponentImpl.java:190)
at com.ibm.commerce.component.WebAdapterComponentImpl.executeCommand(WebAdapterComponentImpl.java:46)
at com.ibm.commerce.component.objimpl.WebAdapterServiceBeanBase.executeCommand(WebAdapterServiceBeanBase.java:58)
at com.ibm.commerce.component.objects.EJSLocalStatelessWebAdapterService_ce749a4a.executeCommand(EJSLocalStatelessWebAdapterService_ce749a4a.java:31)
at com.ibm.commerce.component.objects.WebAdapterServiceAccessBean.executeCommand(WebAdapterServiceAccessBean.java:160)
at com.ibm.commerce.webcontroller.WebControllerHelper.executeCommand(WebControllerHelper.java:2339)
at com.ibm.commerce.struts.BaseAction.invokeService(BaseAction.java:1477)
at com.ibm.commerce.struts.BaseAction.reExecute(BaseAction.java:834)
at com.ibm.commerce.struts.BaseAction.executeAction(BaseAction.java:739)
at com.ibm.commerce.struts.BaseAction.execute(BaseAction.java:162)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at com.ibm.commerce.struts.ECActionServlet.processRequest(ECActionServlet.java:193)
at com.ibm.commerce.struts.ECActionServlet.doPost(ECActionServlet.java:151)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:255)
at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:406)
at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:222)
at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:237)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:136)
at com.ibm.commerce.campaigns.filter.CampaignsFilter.doFilter(CampaignsFilter.java:118)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
at com.ibm.commerce.likeminds.filter.LikeMindsFilter.doFilter(LikeMindsFilter.java:183)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
at com.ibm.commerce.dynacache.filter.CacheFilter$2.run(CacheFilter.java:376)
at com.ibm.commerce.dynacache.filter.CacheFilter.doFilter(CacheFilter.java:507)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
at com.ibm.commerce.webcontroller.RuntimeServletFilter.doFilterAction(RuntimeServletFilter.java:269)
at com.ibm.commerce.webcontroller.RuntimeServletFilter.access$0(RuntimeServletFilter.java:228)
at com.ibm.commerce.webcontroller.RuntimeServletFilter$1.run(RuntimeServletFilter.java:191)
at com.ibm.commerce.webcontroller.RuntimeServletFilter.doFilter(RuntimeServletFilter.java:212)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:121)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:89)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1924)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:89)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:101)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1448)
Cause
It is caused by a problem in the i5/OS DB2 JDBC code on V5R3 only.
Solution
Apply the following V5R3 PTFs:

SI26912
SI26913
SI26914
SI27193
SI27194
SI27115

 

Document Information

Current web document: http://www.ibm.com/support/docview.wss?uid=swg21259082