【发布时间】:2013-03-05 18:04:19
【问题描述】:
我在 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();
}
}
【问题讨论】:
-
如何指定类路径?
-
你能试试
"jdbc:derby:" + dbName + ";create=true"吗? -
将 derby.jar 添加到您的类路径中。
-
@lhuang 我刚刚尝试了您的第一个建议,并收到了关于找不到驱动程序的相同错误消息。关于您的第二个建议,如何将其添加到我的项目类路径中?我已下载 Derby 库文件并添加到我的 Windows 环境变量路径中。
-
如果您通过命令行运行 Java,您应该将 JAR 添加到 CLASSPATH 环境,而不是 Path。如果您使用的是eclipse,请参考wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-(Java)