web-dev-qa-db-ja.com

JDBC Derbyドライバーが見つかりません

http://docs.Oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html でJDBCチュートリアルを実行しており、独自のJDBCデータベースを構築して作成することもできました。大騒ぎ。ただし、Javaアプリケーションからデータベースに接続しようとすると、例外が発生します。

Java.sql.SQLException:jdbc:derby:db directoryに適したドライバが見つかりません

次に、以下を使用して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();
    }
}
11
Ice Phoenix

Java.sql.SQLException:jdbc:derby:dbディレクトリに適切なドライバが見つかりません

したがって、エラーは次の原因で発生する可能性があります。

ドライバーが正しく読み込まれていないか、URLの形式が正しくありません。したがって、最初に、あなたの*.jarはクラスパスにあります。見てみな。

また、URLを次のように変更してみてください:

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

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

更新:

このtheadも見てください: SQLException:適切なドライバーがjdbc:derby:// localhost:1527に見つかりません

10
Simon Dorociak

このタイプのエラーがある場合

Java.lang.ClassNotFoundException: org.Apache.derby.jdbc.ClientDriver

netbeansを使用している場合は、次の手順に従う必要があります。

  1. ライブラリを右クリック
  2. ライブラリオプションの追加を選択し、ライブラリのリストから"Java DB Driver"を選択します

enter image description here

5
Mamta Aluria

Java JDKには両方が付属しています

org.Apache.derby.jdbc.EmbeddedDriver
org.Apache.derby.jdbc.ClientDriver

Eclipse内で、使用するJRE(JDK)に、またはプロジェクトに明示的に次のjarを追加します。

[JDK]db/lib/derby.jar (EmbeddedDriver)
[JDK]db/lib/derbyclient.jar (ClientDriver)

Runtineの場合、適切なjarをJavaアプリケーションで使用できるようにする必要がありました。

3
stefan bachert

チュートリアルに従っているとおっしゃいました。チュートリアルでは、JDBCドライバーをインストールする必要がありました。

JDBCドライバーのインストールは、通常、ドライバーをコンピューターにコピーしてから、その場所をクラスパスに追加することで構成されます。

実行したドライバーをインストールした後

Java.lang.ClassNotFoundException: org.Apache.derby.jdbc.EmbeddedDriver

これは、正しいダイバーを台無しにした場合にのみ可能です。

使用しました

org.Apache.derby.jdbc.EmbeddedDriver

ドライバーをロードする

しかし、使用する必要があります

org.Apache.derby.jdbc.ClientDriver
2
user2173738

詳細については、 https://db.Apache.org/derby/papers/DerbyTut/install_software.html#derby_configure にある「Set DERBY_INSTALL」および「Configure Embedded 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
1
Sophie

必要なjdbcドライバーは、たとえばjre\lib\extディレクトリに置いています。私のシステムでは次のようになります:X:\ Java\jre1.8.0_181\lib\extこれが役に立てば幸いです。

0
DoesEatOats

ClientDriverを使用すると、Java.lang.ClassNotFoundExceptionが発生しました。私は最新のDriverバイナリを使用しましたが、それは間違いでした。

当時、最新のDriverバイナリは10.15.1.3でした。ここに Apache Site があります。

私はJava 8を使用しています。Hibernate5.4.2.Finalを使用しています。それでも、ドライバはJava 9!

0
ucas