在我的应用程序中,我们使用的是WAS 6.x和Oracle 10g,我们使用EJB作为持久层。在EJB中,我们使用预定义方法将数据存储在表中,如下所示
UsersLocalHome usrLocalHome = (UsersLocalHome)getEJBLocalHome(Parameters.USERS_LOCAL_JNDI_LOOKUP);
UsersLocal usrLocal = usrLocalHome.create(getKey(Constants.USERS_MODULE), userTO, request.getUserInfo());
从Websphere 6.x升级到Websphere 8.5和Oracle 10g升级到Oracle 12c后,我们在上面的代码安静中得到了以下异常
EJB threw an unexpected (non-declared) exception during invocation of method "findByPrimaryKey". Exception data: java.lang.NoClassDefFoundError: oracle/xdb/XMLType
at oracle.jdbc.driver.NamedTypeAccessor.getString(NamedTypeAccessor.java:410)
at oracle.jdbc.driver.GeneratedStatement.getString(GeneratedStatement.java:327)
at oracle.jdbc.driver.GeneratedScrollableResultSet.getString(GeneratedScrollableResultSet.java:973)
at com.ibm.ws.rsadapter.cci.WSRdbResultSetImpl.getString(WSRdbResultSetImpl.java:2827)
at com.ibm.ws.ejbpersistence.dataaccess.RawBeanData.getString(RawBeanData.java:1424)
有人可以帮助解决这个问题。
答案 0 :(得分:1)
检查以确保在WebSphere中配置数据源以使用Oracle11gDataStoreHelper。有关数据源配置的更多信息,请参阅http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-base-dist&topic=rdat_minreqoracle。