13

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

10 に答える 10

11

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

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

ドライバーが正しくロードされていないか、URL形式が正しくありません。*.jarしたがって、最初に、クラスパスにあることを確認する必要があります。見てみな。

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

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

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

アップデート:

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

于 2013-03-17T09:41:51.383 に答える
7

このようなエラーが発生した場合

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

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

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

ここに画像の説明を入力

于 2016-02-19T07:59:45.493 に答える
5

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

org.apache.derby.jdbc.EmbeddedDriver
org.apache.derby.jdbc.ClientDriver

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

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

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

于 2016-05-12T10:50:05.443 に答える
2

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

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

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

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

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

あなたが使用した

org.apache.derby.jdbc.EmbeddedDriver

ドライバーをロードする

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

org.apache.derby.jdbc.ClientDriver
于 2013-03-17T09:48:46.717 に答える
1

詳細については、 https: //db.apache.org/derby/papers/DerbyTut/install_software.html#derby_configure の「DERBY_INSTALL の設定」および「組み込み 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
于 2015-10-24T16:13:43.833 に答える
0

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

于 2019-03-30T21:27:14.357 に答える