找不到JDBC Derby驱动程序
我遵循了JDBC教程: http : //docs.oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html ,并设法构建和创建我自己的JDBC数据库,而不用太大惊小怪。 但是现在当尝试从java应用程序连接到数据库时,我收到了exception:
java.sql.SQLException:找不到适合jdbc:derby: db目录的驱动程序
然后在尝试使用以下方法手动指定JDBC驱动程序时:
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
我收到以下exception错误:
java.lang.ClassNotFoundException:org.apache.derby.jdbc.EmbeddedDriver
我很肯定该驱动程序应该没有加载问题,因为这是教程中指定的驱动程序,并且使用该驱动程序创建数据库没有问题。 我在事件尝试在连接语句的末尾添加属性“; create = true”以尝试创建一个全新的数据库,但我仍然收到相同的exception错误。
请参阅下面的应用程序代码。 任何帮助都会很棒:)。
package com.ddg; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class SQLConnect { Connection Conn = null; String URL; String Username; String Password; public SQLConnect() { try { Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); } catch (ClassNotFoundException e) { System.out.println(e.toString()); } URL = "jdbc:derby:*directory name*"; System.out.println("Created SQL Connect"); } public void CreateConnection() { try { Conn = DriverManager.getConnection(URL); System.out.println("Successfully Connected"); } catch (SQLException e) { System.out.println(e.toString()); } } public void CloseConnection() { try { this.Conn.close(); System.out.println("Connection successfully closed"); } catch (SQLException e) { System.out.println(e.toString()); } } public static void main(String args[]) { SQLConnect sql = new SQLConnect(); sql.CreateConnection(); sql.CloseConnection(); } }
java.sql.SQLException:找不到适合jdbc:derby:db目录的驱动程序
所以你的错误可能是由以下原因造成
未正确加载驱动程序或您的URL
格式错误。 所以首先你需要确保*.jar
在classpath中。 一探究竟。
还尝试将您的URL
更改为:
jdbc:derby:///;create=true
create=true
将确保在不存在的情况下创建db。
更新:
看看这个还有: SQLException:没有为jdbc找到合适的驱动程序:derby:// localhost:1527
你说你已经按照教程了。 在本教程中,您必须安装JDBC驱动程序。
安装JDBC驱动程序通常包括将驱动程序复制到计算机,然后将其位置添加到类路径中。
安装驱动程序后运行
java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver
只有你弄乱了正确的潜水员才有可能。
你用过了
org.apache.derby.jdbc.EmbeddedDriver
加载驱动程序
但应该使用
org.apache.derby.jdbc.ClientDriver
如果您有这种类型的错误
java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver
并且您正在使用netbeans
然后您必须遵循以下步骤:
- 右键单击库
- 选择添加库选项,然后从库列表中选择“Java DB Driver”
Java JDK附带两者
org.apache.derby.jdbc.EmbeddedDriver org.apache.derby.jdbc.ClientDriver
在eclipse中,将以下jar添加到已使用的JRE(JDK)或显式添加到您的项目中。
[JDK]db/lib/derby.jar (EmbeddedDriver) [JDK]db/lib/derbyclient.jar (ClientDriver)
对于runtine,你需要为你的java应用程序提供适当的jar。
有关详细信息, 请参阅https://db.apache.org/derby/papers/DerbyTut/install_software.html#derby_configure中的“设置DERBY_INSTALL”和“配置嵌入式Derby”部分。
Derby是JavaSE安装的一部分,我在链接中显示了设置环境变量DERBY_HOME
而不是DERBY_INSTALL
。
C:\> set DERBY_HOME=c:\Program Files\Java\jdk1.8.0_60\db C:\> set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar;. C:\> cd %DERBY_INSTALL%\bin c:\Program Files\Java\jdk1.8.0_60\db\bin> setEmbeddedCP.bat