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();
}
}
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.
Regardez aussi cette thead: SQLException: Aucun pilote approprié trouvé pour jdbc: derby: // localhost: 1527
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:
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
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.
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