未找到 JDBC 德比驱动程序

2022-09-04 07:23:58

我遵循了JDBC教程:http://docs.oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html,并设法构建和创建了自己的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();
    }
}

答案 1

java.sql.SQLException:没有找到适合 jdbc:derby:db 目录的驱动程序

因此,您的错误可能是由以下原因引起的:

驱动程序未正确加载或您的驱动程序格式不正确。因此,首先您需要确保在类路径中。来看看吧。URL*.jar

同时尝试将您的更改为:URL

jdbc:derby://<path>/<databasename>;create=true

create=true将确保在 db 不存在时将创建 db。

更新:

再看看这个定理:SQLException:没有找到适合jdbc:derby://localhost:1527的驱动程序


答案 2

如果您有此类错误

java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver

并且您正在使用,则必须按照以下步骤操作:netbeans

  1. 右键单击库
  2. 选择添加库选项,然后从库列表中选择“Java DB驱动程序”

enter image description here


推荐