2015-05-02 4 views
2

a java.sql.SQLException: Не найдено подходящего драйвера для jdbc: h2: tcp: // localhost/~/ZadatakDB бросается, когда я пытаюсь подключиться к базе данных h2, используя java веб-приложение.Не найдено подходящих драйверов для jdbc: h2: tcp

Я могу использовать консоль H2 без каких-либо проблем, а pinging - успешный.

Я также добавил h2-1.3.176 файл jar в библиотеки и WEB-INF/lib.

Вот мой метод Java Я использую для подключения:

private static Connection connectToDatabase() throws SQLException, 
     IOException { 

    String url = "jdbc:h2:tcp://localhost/~/ZadatakDB"; 
    String username = "student"; 
    String pw = "student"; 
    Connection connection = DriverManager.getConnection(url, 
      username, pw); 
    return connection; 
} 

Что я мог не быть?

Я также добавить StackTrace:

java.sql.SQLException: No suitable driver found for jdbc:h2:tcp://localhost/~/ZadatakDB 
at java.sql.DriverManager.getConnection(DriverManager.java:689) 
at java.sql.DriverManager.getConnection(DriverManager.java:247) 
at hr.web.aplikacija.DatabaseUtils.connectToDatabase(DatabaseUtils.java:20) 
at hr.web.aplikacija.DatabaseUtils.insertForm(DatabaseUtils.java:38) 
at hr.web.aplikacije.servlet.KorisnikServlet.doPost(KorisnikServlet.java:68) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
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:502) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) 
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:518) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668) 
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517) 
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
at java.lang.Thread.run(Thread.java:745) 
+0

У вас есть исключение ClassNotFound в трассировке стека? –

+0

У меня нет только SQL-исключения – Sarpy

+2

И что произойдет, если вы используете: Class.forName ("org.h2.Driver"). NewInstance(); в первой строке вашего метода? Он должен зарегистрировать требуемый драйвер в DriverManager. –

ответ

2

Драйвер JDBC для базы данных H2 не в пути к классам, или драйвер выгружается. Используйте это, чтобы загрузить класс водителя:

Class.forName("org.h2.Driver"); 
+1

Я вставил эту строку, но вместо этого получил выполнение ClassNotFound. – Guangliang

Смежные вопросы