主题 : 下载安装jeecms-2012-sp1.zip后部分BUG
级别: 童生
UID: 14495
积分:40 加为好友
威望: 0 精华: 0
主题:3 回复:17
注册时间:2011-01-06
在线时长:0
1#   发表于:2013-07-02 17:18:23  IP:59.250.*.*
点击到“备份”提示报错
HTTP Status 500 - Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [ show tables ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'table_names' in information_schema

--------------------------------------------------------------------------------

type Exception report

message Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [ show tables ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'table_names' in information_schema

description The server encountered an internal error that prevented it from fulfilling this request.

exception 

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [ show tables ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'table_names' in information_schema
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:38)


root cause 

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [ show tables ]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'table_names' in information_schema
org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:94)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:406)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:455)
org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:498)
com.jeecms.cms.dao.assist.impl.CmsDataBackDaoImpl.listTables(CmsDataBackDaoImpl.java:69)
com.jeecms.cms.manager.assist.impl.CmsDataBackMngImpl.listTabels(CmsDataBackMngImpl.java:35)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy62.listTabels(Unknown Source)
com.jeecms.cms.action.admin.assist.DataAct.list(DataAct.java:73)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:38)


root cause 

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'table_names' in information_schema
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
com.mysql.jdbc.Util.getInstance(Util.java:381)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3536)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3468)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1957)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2642)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2571)
com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1451)
com.mysql.jdbc.Field.getCollation(Field.java:475)
com.mysql.jdbc.ResultSetMetaData.isCaseSensitive(ResultSetMetaData.java:561)
com.sun.rowset.CachedRowSetImpl.initMetaData(CachedRowSetImpl.java:704)
com.sun.rowset.CachedRowSetImpl.populate(CachedRowSetImpl.java:621)
org.springframework.jdbc.core.SqlRowSetResultSetExtractor.createSqlRowSet(SqlRowSetResultSetExtractor.java:63)
org.springframework.jdbc.core.SqlRowSetResultSetExtractor.extractData(SqlRowSetResultSetExtractor.java:46)
org.springframework.jdbc.core.SqlRowSetResultSetExtractor.extractData(SqlRowSetResultSetExtractor.java:1)
org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:445)
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:395)
org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:455)
org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:498)
com.jeecms.cms.dao.assist.impl.CmsDataBackDaoImpl.listTables(CmsDataBackDaoImpl.java:69)
com.jeecms.cms.manager.assist.impl.CmsDataBackMngImpl.listTabels(CmsDataBackMngImpl.java:35)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy62.listTabels(Unknown Source)
com.jeecms.cms.action.admin.assist.DataAct.list(DataAct.java:73)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.jeecms.common.web.ProcessTimeFilter.doFilter(ProcessTimeFilter.java:38)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.36 logs.


--------------------------------------------------------------------------------
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
2#   发表于:2013-07-02 17:32:40  IP:111.77.*.*
建议修改方法为  
com.jeecms.cms.dao.assist.impl.CmsDataBackDaoImpl.listTables(String catalog)  
加上catalog参数,sql语句改为  
String sql = " SELECT TABLE_NAME FROM information_schema.`TABLES` WHERE TABLE_SCHEMA='" + catalog + "' ";  

该方法会经过一系列的接口/实现,修正那些相关的接口和实现,最终在  
com.jeecms.cms.action.admin.assist.DataAct.list(ModelMap model, HttpServletRequest request, HttpServletResponse response)  
中调用,其中catalog参数可以使用  
dataBackMng.getDefaultCatalog()来提供,注意try/catch哦。  

修改后的list方法  
@RequestMapping("/data/v_list.do")  
public String list(ModelMap model, HttpServletRequest request, HttpServletResponse response) {  
List<String> tables;  
try {  
tables = dataBackMng.listTabels(dataBackMng.getDefaultCatalog());  
} catch (SQLException e) {  
model.addAttribute("msg", e.toString());  
return "common/error_message";  
}  
model.addAttribute("tables", tables);  
return "data/list";  
}  
功成由勤,业精于勤。
级别: 举人
UID: 36722
积分:135 加为好友
威望: 0 精华: 0
主题:9 回复:49
注册时间:2012-07-26
在线时长:0
3#   发表于:2014-03-18 20:04:26  IP:218.123.*.*
dataBackMng.getDefaultCatalog()这个方法怎么写啊?
级别: 举人
UID: 36722
积分:135 加为好友
威望: 0 精华: 0
主题:9 回复:49
注册时间:2012-07-26
在线时长:0
4#   发表于:2014-03-18 20:04:46  IP:218.123.*.*
回复第2楼:dataBackMng.getDefaultCatalog()这个方法怎么写啊?
1 共1页