1. ホーム
  2. java

[解決済み] JDBC Derby ドライバが見つかりません

2022-02-17 02:33:02

質問

での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();
    }
}

解決方法は?

<ブロッククオート

java.sql.SQLException: jdbc:derby:db に対応する適切なドライバが見つかりませんでした。 ディレクトリ

ということは、あなたのエラーの原因は、以下の可能性があります。

ドライバが正しくロードされていないか URL が不正です。ですからまず最初に *.jar がクラスパスにあります。調べてみてください。

を変更してみてください。 URL に変更します。

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

create=true は、dbが存在しない場合に作成されることを保証します。

更新を行います。

こちらもご覧ください。 SQLException: jdbc:derby://localhost:1527 に対応する適切なドライバが見つかりませんでした。