com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'bbs_category' 无效

来源:互联网 发布:用java做erp系统 编辑:程序博客网 时间:2024/06/05 06:41

1 错误描述:

今天把本地写好的功能发布到服务器tomcat中,本地运行正常,但运行报错
com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 ‘bbs_topic’ 无效。

SEVERE: Servlet.service() for servlet [springmvc] in context with path [] threw exception [Request processing failed; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet] with root causecom.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'bbs_topic' 无效。    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493)    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:390)    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340)    at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)    at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:283)    at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:116)    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:70)    at org.hibernate.loader.Loader.getResultSet(Loader.java:2116)    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1899)    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1875)    at org.hibernate.loader.Loader.doQuery(Loader.java:919)    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336)    at org.hibernate.loader.Loader.doList(Loader.java:2611)    at org.hibernate.loader.Loader.doList(Loader.java:2594)    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2423)    at org.hibernate.loader.Loader.list(Loader.java:2418)    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:336)    at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:1967)    at org.hibernate.internal.AbstractSessionImpl.list(AbstractSessionImpl.java:322)    at org.hibernate.internal.SQLQueryImpl.list(SQLQueryImpl.java:125)    at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:960)    at cn.com.dao.impl.BbsTopicDaoImpl.getTopicList(BbsTopicDaoImpl.java:49)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)    at java.lang.reflect.Method.invoke(Unknown Source)    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)    at com.sun.proxy.$Proxy59.getTopicList(Unknown Source)    at cn.com.controller.BbsManageController.getNotemanage(BbsManageController.java:61)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)    at java.lang.reflect.Method.invoke(Unknown Source)    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:222)    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777)    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706)    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)    at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:151)    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)    at java.lang.Thread.run(Unknown Source)

2 分析可能原因及其解决方法:

2.1 当数据表有视图,XX.hbm.xml可能该配置文件class属性没有加catalog属性指定具体数据库,
此时可能报错com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 ‘dbo.bbs_category’ 无效。
解决:XX.hbm.xml的class属性加catalog属性

<!--schema:视图名 --><!--catalog:数据库名 --><class name="cn.com.pojo.bbs.BbsCategory" schema="dbo" table="bbs_category" catalog="TC_Private">

2.2 可能执行的sql语句没有指明哪个数据库,
解决方法,sql语句中每个数据库指明数据库及视图

这里写图片描述

阅读全文
0 0
原创粉丝点击