2009-03-17 6 views
1

Je reçois une java.sql.SQLException: Aucun pilote approprié lorsque j'essaie de me connecter à une base de données avec Java. Je suis sur Mac OS 10.5 en utilisant l'EDI NetBeans. Il semble avoir du mal avec le EmbeddedDriver, mais je ne sais pas ce que je suis absent:java.sql.SQLException: Aucun pilote approprié sur Mac OS X Tentative d'utilisation de Derby

public class A 
    { 
     Connection conn = null; 

     public A(String URL, String username, String password) throws SQLException 
     {  
       try 
       { 
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); 
        conn = DriverManager.getConnection(URL, username, password); 
       } 
       catch (SQLException sqlException) 
       { 
        sqlException.printStackTrace(); 
        invalidate(); 
       } 
       catch (ClassNotFoundException classNotFound) 
       { 
        classNotFound.printStackTrace(); 
        invalidate(); 
       } 
     } 
    } 

Répondre

3

« Aucun pilote approprié » signifie généralement que l'URL que vous avez fourni pour vous connecter a une syntaxe incorrecte. Quelle est votre URL?

La version du serveur aurait un hôte et un port; Je crois que l'URL intégrée devrait être « jdbc: derby: flixnet », selon ces documents: http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html

+0

Puis-je obtenir ceci: java.sql.SQLException: Base de données 'flixnet' non trouvé. –

+0

Ensuite, vous n'avez pas de base de données flixnet créée. –

+0

Je ne sais pas si quelqu'un regarde encore cette question vieille de 3,5 ans, mais vous avez tout à fait raison. – duffymo

0

Il est déclaré comme ici constante:

final String DATABASE_URL = "jdbc:derby://localhost:1527/flixnet"; 

Ne pas poser des questions sur le nom ... J'ai obtenu cette URL en faisant un clic droit sur la base de données dans NetBeans, puis en allant dans Propriétés -> URL de la base de données. Et j'ai ajouté les fichiers derby.jar et derbyclient.jar de /Applications/NetBeans/glassfish-v3-prelude/javadb/lib/derby.jar et derbyclient.jar à partir du même répertoire.

+1

La version du serveur aurait un hôte et un port; Je crois que l'URL incorporée devrait être "jdbc: derby: flixnet", selon ces documents: http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html – duffymo

0

Avez-vous ajouté le fichier derbyclient.jar dans le dossier "Bibliothèques" de votre projet Netbeans?

1

Utilisez "org.apache.derby.jdbc.ClientDriver". Comme je vois que vous accédez à un serveur Derby pas une base de données intégrée.

0

J'ai eu le même problème. Essayez ceci:

  1. Assurez-vous de mettre à jour votre JDK et Netbeans à la dernière version

  2. clic droit de votre projet de bibliothèques

  3. Choisir "Ajouter la bibliothèque ..."

  4. Recherchez et choisissez "Java DB Driver", puis cliquez sur "Add Library"

Voilà comment je résolu le problème, j'espère que cela aidera un nouveau programmeur comme moi :) PS Il ajoutera « derbyclient.jar » pour vous