我遵循了位于 http://docs.oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html 的 JDBC 教程,并设法轻松地构建和创建了我自己的 JDBC 数据库。但是现在当我尝试从 Java 应用程序连接到数据库时收到异常:
java.sql.SQLException: 找不到适合 jdbc:derby: db 目录 的驱动程序
然后在尝试使用以下方法手动指定 JDBC 驱动程序时:
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
我收到以下异常错误:
java.lang.ClassNotFoundException:org.apache.derby.jdbc.EmbeddedDriver
我确信该驱动程序应该没有加载问题,因为它是教程中指定的驱动程序,并且使用该驱动程序创建数据库没有问题。我曾尝试在连接语句的末尾添加属性“;create=true”来尝试创建一个全新的数据库,但我仍然收到相同的异常错误。
请在下面查看我的应用程序代码。任何帮助都会很棒 :)。
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();
}
}
原文由 Ice Phoenix 发布,翻译遵循 CC BY-SA 4.0 许可协议
所以你的错误可能是由于:
驱动程序未正确加载或您的
URL
格式错误。所以首先你需要确保你的*.jar
在类路径中。一探究竟。还尝试将您的
URL
更改为:create=true
将确保如果不存在将创建数据库。更新:
也看看这个 thead: SQLException: No suitable driver found for jdbc:derby://localhost:1527