web-dev-qa-db-fra.com

Pilote JDBC Derby introuvable

J'ai suivi le didacticiel JDBC à l'adresse: http://docs.Oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html , et j'ai réussi à créer et à créer ma propre base de données JDBC sans trop agitation. Cependant, maintenant, lorsque je tente de me connecter à la base de données à partir d'une application Java, je reçois l'exception:

Java.sql.SQLException: Aucun pilote approprié trouvé pour jdbc: derby: db Répertoire

Ensuite, lorsque vous essayez de spécifier manuellement le pilote JDBC en utilisant:

Class.forName("org.Apache.derby.jdbc.EmbeddedDriver");

Je reçois l'erreur d'exception suivante:

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

Je suis convaincu que ce pilote ne devrait pas rencontrer de problèmes de chargement, car il s'agit du pilote spécifié dans le didacticiel et la création de la base de données à l'aide de ce pilote n'a posé aucun problème. J'ai déjà essayé d'ajouter la propriété "; create = true" à la fin de l'instruction de connexion pour essayer de créer une nouvelle base de données, mais je reçois toujours la même erreur d'exception.

S'il vous plaît voir mon code d'application ci-dessous. Toute aide serait fantastique :).

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();
    }
}
9
Ice Phoenix

Java.sql.SQLException: Aucun pilote approprié trouvé pour le répertoire jdbc: derby: db

Donc, votre erreur peut être causée par:

Le pilote n’est pas chargé correctement ou votre URL est mal formée. Donc, au début, vous devez vous assurer que votre *.jar est dans classpath. Vérifiez-le.

Essayez également de changer votre URL en:

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

create=true s'assurera que la base de données sera créée si elle n'existe pas.

Mettre à jour:

Regardez aussi cette thead: SQLException: Aucun pilote approprié trouvé pour jdbc: derby: // localhost: 1527

10
Simon Dorociak

Si vous avez ce type d'erreur

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

et vous utilisez netbeans, vous devez alors suivre ces étapes:

  1. clic droit sur la bibliothèque
  2. choisissez l'option Ajouter une bibliothèque et dans la liste des bibliothèques, choisissez "Pilote Java DB"

enter image description here

3
Mamta Aluria

Vous avez dit que vous avez suivi le tutoriel. Dans le tutoriel, vous deviez installer le pilote JDBC.

L'installation d'un pilote JDBC consiste généralement à copier le pilote sur Votre ordinateur, puis à en ajouter l'emplacement à votre chemin d'accès aux classes.

Après avoir installé le pilote, vous lancez

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

Cela n’est possible que si vous avez trompé le bon plongeur.

Vous avez utilisé 

org.Apache.derby.jdbc.EmbeddedDriver

charger le pilote

mais devrait utiliser

org.Apache.derby.jdbc.ClientDriver
2
user2173738

Java JDK est livré avec les deux

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

Dans Eclipse, ajoutez les fichiers JAR suivants au JRE utilisé (JDK) ou explicitement à votre projet.

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

Pour runtine, vous deviez rendre le fichier jar approprié disponible pour votre application Java.

2
stefan bachert

Voir les sections "Set DERBY_INSTALL" et "Configure Embedded Derby" dans https://db.Apache.org/derby/papers/DerbyTut/install_software.html#derby_configure pour plus de détails. 

Derby fait partie de l'installation de JavaSE et j'avais la variable d'environnement d'installation DERBY_HOME au lieu de DERBY_INSTALL indiquée dans le lien. 

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