找不到适用于jdbc:h2:tcp的驱动程序 [英] No suitable driver found for jdbc:h2:tcp

查看:102
本文介绍了找不到适用于jdbc:h2:tcp的驱动程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

java.sql.SQLException:当我尝试使用Java Web应用程序连接到h2数据库时,没有抛出jdbc:h2:tcp:// localhost /〜/ ZadatakDB合适的驱动程序。

an java.sql.SQLException: No suitable driver found for jdbc:h2:tcp://localhost/~/ZadatakDB is thrown when I try to connect to h2 database using a java web application.

我可以毫无问题地使用H2控制台,并且ping操作成功。

I can use H2 console without any issue, and pinging is successfull.

我还添加了h2-1.3.176 jar文件

I've also added h2-1.3.176 jar file to Libraries AND to WEB-INF/lib.

这是我用来连接的Java方法:

Here is my Java method I am using to connect:

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:

I will also add 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)


推荐答案

H2数据库的JDBC驱动程序不是在类路径中,或者驱动程序已卸载。使用它来加载驱动程序类:

The JDBC driver for the H2 database is not in the classpath, or the driver is is unloaded. Use this to load the driver class:

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

这篇关于找不到适用于jdbc:h2:tcp的驱动程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆