Classpath / Base de donnée

Résolu
Faatalis Messages postés 74 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 30 juillet 2010 - 30 janv. 2008 à 19:24
Faatalis Messages postés 74 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 30 juillet 2010 - 3 févr. 2008 à 21:19
Bonsoir
Super débutant, je cherche à réaliser une application utilisant une base de donnée.
J'ai choisit hsqldb, puisqu'elle est facilement transportable.

Cela fait 15 jours que j'essai de me connecté, mais je n'arrive à rien....
A force de chercher sur le net,  je lance cette action :

javac -classpath [chemin]/hsqldb.jar [chemin]/Base2.java

Pas de problème lors de la compilation

Mais lorsque je lance (java [chemin]/Base2.class),
"ERROR: connection.
java.lang.ClassNotFoundException: ord.hsqldb.jdbcDriver
..."

Voici mon code :
import org.hsqldb.util.*;
import org.hsqldb.jdbc.*;
import org.hsqldb.lib.java.*;
import org.hsqldb.*;
import org.hsqldb.persist.*;
import org.hsqldb.resources.*;
import org.hsqldb.index.*;
import org.hsqldb.lib.*;
import org.hsqldb.rowio.*;
import org.hsqldb.scriptio.*;
import org.hsqldb.store.*;
import org.hsqldb.types.*;
import java.sql.*;
 
public class Base2 {
 
 public static void main (String [] args){
     String driver = "org.hsqldb.jdbcDriver";
        String url = "jdbc:hsqldb:file:mabase2";
        String loginDb = "sa";
        String passwordDb = "";
        Connection connection = null;
     
        try{
           Class.forName("org.hsqldb.jdbcDriver");
           connection = DriverManager.getConnection(url,loginDb,passwordDb);
                    
        } catch (Exception e) {
        System.out.println("ERROR: connection.");
        e.printStackTrace();
        return;
    }
}
}

Je sais vraiment plus quoi faire...

10 réponses

Faatalis Messages postés 74 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 30 juillet 2010
3 févr. 2008 à 21:19
J'ai trouvé !!

J'ai rajouté la classpath qu'utilise JTama par défaut à ma commande

java -cp %classpath%;hsqldb.jar Base2

et c'est bon.

Tout fonctionne pour le moment !!

Merci Twinuts pour tes conseils
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
30 janv. 2008 à 19:31
Salut,

tu as oublié de spécifier le classpath pour le jar hsqldb.jar lors de l'exécution de ton application avec la commande 'java'.

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Faatalis Messages postés 74 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 30 juillet 2010
30 janv. 2008 à 20:04
Salut,
merci pour ta réponse,
malheuresement, j'avais également essayé ça.

Je pense bien que ce soit un problème de classpath (vu mes recherche sur le net)
mais lequel...
0
Faatalis Messages postés 74 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 30 juillet 2010
30 janv. 2008 à 20:12
pour info,
si je fais un javac [chemin]/Base2.java

il me dit qu'il ne trouve pas les import org.hsqldb...r

Il semblerai donc qu'il compile bien avec le jar, mais lors de l'exécution, il n'atteind pas le driver
...help me, please
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
30 janv. 2008 à 20:56
Salut,

essai la méthode bourrin en plaçant ton jar (hsqldb) dans le repertoire <jre>/lib/ext/ et exécute ton appli sans indiquer de classpath au démarrage...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Faatalis Messages postés 74 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 30 juillet 2010
30 janv. 2008 à 21:27
pareil que lorsque je ne mets pas de classpath,
il ne trouve pas les import org.hsqldb...
y'a peut être autre chose que le classpath de mal parametré?
0
Faatalis Messages postés 74 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 30 juillet 2010
3 févr. 2008 à 17:54
Bonsoir
Merci à Twinuts pour son aide,
malheureusement, peu de chose ont changé,
et je suis de plus en plus déséspéré...

Le message à quelque peu changer :
"Exception in thread "main" java.lang.NoClassDefFoundError: Base2"


Le message à changer suite à des modifs de classpath,

Quelqu'un pourrait-il m'aider?
 car je suis à 2 doigts de laisser tomber,
après 1 mois de travail sur l'interface et plus de 2 semaines de perdu à essayer de me connecter à cette base, je serai vraiment dégouté.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
3 févr. 2008 à 20:03
Salut,

expose la structure de ton projet que l'on puisse t'orienter le plus simplement possible...

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Faatalis Messages postés 74 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 30 juillet 2010
3 févr. 2008 à 20:14
Merci pour ton intérêt.

Pas réellement de structure dans ce problème :

Je cherche juste à utiliser hsqldb.
Comme je débute, j'y  vais doucement (heureusement, vu que ça fonctionne pas)
J'ai donc, dans ce cas, le fichier java, tout en haut du post, et le jar de hsqldb téléchargé.

Je viens de m'aperçevoir qu'autant de mes .class ne se lance avec la console,
en utilisant la fonction java maclasse.class

J'utilise jusqu'alors "JTama" pour compilé vu que cétait de simples fichier,
mais je ne peux définir mon classpath avec.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
3 févr. 2008 à 20:25
Salut,

si c'est important... bon imagine ton projet ayant cette structure :
monProjet
  |-->lib
  |      |-->hsqldb.jar
  |      |-->*.jar
  |-->monApp.jar
  |-->*.*

dans le jar 'monApp.jar' arrange toi pour mettre les lib dans le champ Class-Path du fichier manifest de celui-ci soit ici :
Main-Class: monPackage.MaMainClasse
Class-Path: ./lib/hsqldb.jar , ./lib/mesAutresLib.jar , *.jar

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Rejoignez-nous