2010-11-04 14 views
8

Tengo una instancia de MySQL 5.0.4.1 con una aplicación escrita en Hibernate. En una de las páginas, recibo el siguiente mensaje de error en el registro del servidor:Índice de conjunto de caracteres desconocido para el campo recibido del servidor

Índice de conjunto de caracteres desconocido para el campo '123' recibido del servidor.
en com.mysql.jdbc.Connection.getCharsetNameForIndex (Connection.java:1664)
en com.mysql.jdbc.Field. (Field.java:144)
en com.mysql.jdbc.MysqlIO.unpackField (MysqlIO.java : 506)
en com.mysql.jdbc.MysqlIO.getResultSet (MysqlIO.java:280)
en com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:1319)
en com.mysql.jdbc.MysqlIO.sqlQuery (MysqlIO.java:1218)
en com.mysql.jdbc.Connection.execSQL (Connection.java:2233)
en com.mysql.jdbc.Connection.execSQL (Connection.java:2193)
en com.mysql.jdbc .Connection.execSQL (Connection.java:2174)
en com.mysql.jdbc.Connection.setAutoCommit (Connection.java:536)
en org.apache.commons.dbcp.DelegatingConnection.setAutoCommit (DelegatingConn) ection.java:268)
en org.apache.commons.dbcp.PoolingDataSource $ PoolGuardConnectionWrapper.setAutoCommit (PoolingDataSource.java:293)
en org.hibernate.transaction.JDBCTransaction.toggleAutoCommit (JDBCTransaction.java:194)
en org. hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit (JDBCTransaction.java:186)
en org.hibernate.transaction.JDBCTransaction.rollback (JDBCTransaction.java:162)
en org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback (HibernateTransactionManager.java: 603)
en org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback (AbstractPlatformTransactionManager.java:579)
en org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback (AbstractPlatformTransactionManager.java:556)
en org.springframework.transaction.interceptor.TransactionAspectSupport.doCloseTransactionAfterThrowing (TransactionAspectSupport.java:284)
en org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:100)
en org.springframework.aop.framework. ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:170)
en org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke (MethodSecurityInterceptor.java:66)
en org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java: 170)
en org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke (MethodSecurityInterceptor.java:66)
en org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (Reflecti) veMethodInvocation.java:170)
en org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:176)
en $ Proxy6.getDataFromDatabase (origen desconocido)
en org.myCompany.myAction.load (origen desconocido)
en sun.reflect.NativeMethodAccessorImpl.invoke0 (nativo Método)
en sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39)
en sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
en java.lang. reflect.Method.invoke (Method.java:324)
en org.apache.struts.actions.DispatchAction.dispatchMethod (DispatchAction.java:274)
en org.apache.struts.actions.DispatchAction.execute (DispatchAction.java: 194)
en org.apache.struts.action.R equestProcessor.processActionPerform (RequestProcessor.java:419)
en org.apache.struts.action.RequestProcessor.process (RequestProcessor.java:224)
en org.apache.struts.action.ActionServlet.process (ActionServlet.java:1196)
en org.apache.struts.action.ActionServlet.doGet (ActionServlet.java:414)
en javax.servlet.http.HttpServlet.servicio (HttpServlet.java:787)
en javax.servlet.http.HttpServlet.service (HttpServlet.java:908)
en org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:247)
en org. apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193)
en org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:264)
en org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke (FilterSecurityInterceptor.java:107)
en org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter (FilterSecurityInterceptor.java:72)
en org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:274)
en org. acegisecurity.ui.ExceptionTranslationFilter.doFilter (ExceptionTranslationFilter.java:110)
en org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:274)
en org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter (AnonymousProcessingFilter.java:125)
en org .acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:274)
en org.acegisecurity.ui.AbstractProcessingFilter.doFilter (AbstractProcessingFilter.java:217)
en org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy .java: 274)
en org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter (HttpSessionContextIntegrationFilter.java:229)
en org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:274)
en org.acegisecurity.util.FilterChainProxy.doFilter (FilterChainProxy.java:148)
en org.acegisecurity.util.FilterToBeanProxy.doFilter (FilterToBeanProxy.java:98)
en org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:213)
en org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193)
en org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:280)
en org. apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:509)
en org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:218)
en org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:509)
en org.apache.catalina.core.StandardHostValve.invoke (StandardHos tValve.java:209)
en org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:509)
en com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process (NSAPIProcessor.java:157)
en com.iplanet.ias.web.WebContainer.service (WebContainer.java:579)

Este error se produce en un entorno de producción, así que no sé qué consulta produce el problema, pero sí sé que ninguna de mis tablas tiene una columna llamada '123'. ¿Tiene alguna sugerencia sobre lo que podría estar causando este problema?

Editar: Como seguimiento, he encontrado que este comportamiento es un known bug in MySQL 5.0.4, pero no he encontrado una buena wokaround ya que no tienen la opción de MySQL.

Respuesta

0

Podría ser que de alguna manera el conjunto de caracteres para el campo se ha establecido en un valor no válido, ejecute este SQL en el servidor con el problema reemplazando el nombre de la tabla y la columna 'Collation' mostrará el conjunto de caracteres para cada varchar/char campos

SHOW FULL COLUMNS IN table_name; 

a continuación, puede cambiar el juego de caracteres de un campo utilizando el siguiente:

ALTER TABLE t MODIFY col1 VARCHAR(50) CHARACTER SET latin1; 
Cuestiones relacionadas