2014-10-09 2 views
0

Java 웹 응용 프로그램에서 "libros"라는 데이터베이스에 연결하려고하지만 내부 서버에서 응용 프로그램을 실행하려고하면 (STS 3.6.1을 사용하고 있습니다) 다음과 같은 오류가 발생합니다 :MySQL 5.6 로컬 서버와의 연결이 실패합니다.

oct 09, 2014 7:31:41 PM org.apache.catalina.core.StandardWrapperValve invoke 
GRAVE: Servlet.service() para servlet ControladorLibros lanzó excepción 
com.arquitecturajava.DataBaseException: Error de SQL 
    at com.arquitecturajava.DataBaseHelper.seleccionarRegistros(DataBaseHelper.java:138) 
    at com.arquitecturajava.Libro.buscarTodos(Libro.java:101) 
    at com.arquitecturajava.ControladorLibros.doGet(ControladorLibros.java:29) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:146) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:279) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'libros' 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) 
    at com.mysql.jdbc.Util.getInstance(Util.java:360) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870) 
    at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659) 
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206) 
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234) 
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) 
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395) 
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325) 
    at java.sql.DriverManager.getConnection(DriverManager.java:571) 
    at java.sql.DriverManager.getConnection(DriverManager.java:215) 
    at com.arquitecturajava.DataBaseHelper.seleccionarRegistros(DataBaseHelper.java:92) 
    ... 25 more 

"libros"테이블이 있습니다. 직접 작성하여 MySQL Workbench를 참조하십시오. MySQL 서버는 응용 프로그램뿐만 아니라 로컬에 있음을 분명히했습니다.

또한 가장 이상한 점은 온라인 MySQL에 동일한 응용 프로그램으로 연결하면 오류가 표시되지 않는다는 것입니다.

최신 MySQL JDBC 커넥터에 연결하고 다른 이전 버전을 시도했지만 문제는 동일합니다.

물론 알려 주시면 감사하겠습니다.

구스타보 Echenique은

+0

"libros"테이블이 없지만 libros 데이터베이스가 없다는 것은 예외입니다. com.arquitecturajava.DataBaseHelper.seleccionarRegistros (DataBaseHelper.java:92)를 표시하는 데 도움이됩니다. –

답변

0

당신은 점점 "MySQLSyntaxErrorException : 알 수없는 데이터베이스 'LIBROS'"

이 명령을보십시오.

처음에 libros는 데이터베이스라고했습니다. 나중에 테이블이라고 부르는 경우 - 데이터베이스가 아닌 libros라는 테이블을 만들지 않았는지 확인하십시오. 이 오류 유형의 잠재적 인 원인 중 하나입니다.

추가 도움말을 보려면 사용 된 create 문과 sql 쿼리를 제공하십시오.

0

당신이 올바른 호스트와 연결중인 MySQL의 호스트가 'LIBROS'데이터베이스를 가지고 연결되어 있는지 확인합니다.

또한 JDBC 구성에서 사용중인 사용자가 'libros'데이터베이스에 액세스 할 수 있는지 확인하십시오.

SHOW GRANTS FOR 'user'@'localhost'; 
0

내가 잃어버린 것에 대해 사과해야합니다.

데이터베이스는 "arquitecturajava"라고하며 "libros"라는 테이블이 있습니다.

온라인으로 MySQL을 테스트했을 때 데이터베이스를 "libros"라고 불렀으므로 로컬 서버가 작동하지 않았을 때 시도했습니다.

도움 주셔서 감사합니다.

관련 문제