找不到合适的司机。还有

时间:2014-02-04 17:03:40

标签: java jdbc driver derby sqlexception

我收到以下错误(注意:我正在使用Netbeans):

java.sql.SQLException: No suitable driver found for jdbc:derby://localhost:7001/LF_JHU_DERBY
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at randomtests.UFTest.main(UFTest.java:38)

我的代码的相关部分是:

Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
DriverManager.getConnection("jdbc:derby://localhost:7001/JP_JHU_DERBY", username, password);

我的Java / Extensions目录中有derby.jar文件 - 没有找到嵌入式驱动程序。所以我有几个Q:

  1. 它不应该有Class.forName()方法的JDBC驱动程序吗?为什么在getConnection()突然出现问题?

  2. 我以为我甚至不需要用新的JDK加载驱动程序。我正在使用Netbeans并且(我认为成功)将netbeans.conf文件设置为最新的JDK(使用“netbeans_jdkhome =”/ Library / Java / JavaVirtualMachines / jdk1.7.0_51.jdk / Contents / Home“)。我是什么人丢失?

1 个答案:

答案 0 :(得分:1)

Apache Derby可以在两种不同的模式下运行:

  1. 作为网络服务器
  2. 在内存中的JVM内部。
  3. 驱动程序org.apache.derby.jdbc.EmbeddedDriver只能处理内存数据库。其网址的格式为"jdbc:derby:/path/to/database"

    但您的网址是网络服务器的网址,嵌入式驱动程序无法处理该网址。要连接到derby服务器,您必须使用驱动程序类org.apache.derby.jdbc.ClientDriver