IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NetBeans Java Discussion :

NetBeans: Modification du ClassPath, Comprends pas ?


Sujet :

NetBeans Java

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut NetBeans: Modification du ClassPath, Comprends pas ?
    Bonjour,

    je cherche à me connecter à un serveur SQL Server.
    J'ai téléchargé et installer le driver JDBC SQL Server 2000.

    Je crée ma classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    import java.sql.*;
    import java.net.*;
    import java.lang.*;
     
    public class ConnectionSQLServer {
     
        /** Creates a new instance of ConnectionSQLServer */
        public ConnectionSQLServer(String serveurName) {
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
        }
    }
    et ça me retournait:

    C:\chemin\ConnectionSQLServer.java:23: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    1 error
    BUILD FAILED (total time: 0 seconds)
    J'ajoute une variable d'environnement CLASSPATH dans windows, même erreur.
    Je l'ajoute dans NetBeans dans les propriétés du projet, marche toujours pas.

    Et ensuite, je modifie ma classe, j'ajoute les instructions try et catch de manière à obtenir:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    import java.sql.*;
    import java.net.*;
    import java.lang.*;
     
    public class ConnectionSQLServer {
     
        /** Creates a new instance of ConnectionSQLServer */
        public ConnectionSQLServer(String serveurName) {
            try{
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            }
            catch (Exception e){
                System.out.println("Ca marche pas. L'erreur retournée est \r\n"+e);
            }
        }
    }
    et là ça fonctionne.
    A la compilation, 0 erreurs.
    Donc si quelqu'un pouvait m'expliquer, ça serait bien cool. Parce que je ne comprends pas. En quoi, le fait de rajouter ces instructions, cela fonctionne-t-il ? Parce que mes .jar, il les trouve ou il ne les trouve pas...
    J'ai dû louper quelque chose.

    Merci
    Ciao

  2. #2
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    L'erreur est à la compilation, ton premier programme n'est pas conforme à la spécification Java. En effet, la méthode Class.forName() est déclarée ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static Class forName(String className) throws ClassNotFoundException
    donc elle est susceptible de lever l'exception ClassNotFoundException.
    La spécification du langage dit que lorsqu'une méthode peut lever une exception, la méthode appelante doit :
    1) soit catcher l'exception dans un bloc try...catch
    2) soit elle-même déclarer l'exception comme étant susceptible d'être levée.
    Donc rien à voir avec la variable CLASSPATH. C'est vrai pour tout appel à une méthode qui comporte un throws.

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2004
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 306
    Points : 122
    Points
    122
    Par défaut
    Ok merci bien pour cette réponse.
    J'avais lu ailleurs sur le net, qu'à l'erreur que j'avais, c t un problème de CLASSPATH. J'ai donc cherché longtemps à résoudre mon problème par le changement de la variable CLASSPATH.

    Merci encore.
    Ciao

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur Objet requis : 'this' --> Comprend pas!!
    Par Grozeil dans le forum ASP
    Réponses: 3
    Dernier message: 30/03/2005, 09h46
  2. [thread][methodologie]Quelque chose que je ne comprends pas!
    Par norkius dans le forum Général Java
    Réponses: 5
    Dernier message: 16/03/2005, 14h01
  3. sql ne comprend pas mon where!et me demande des parametres
    Par marie10 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 20/04/2004, 11h08
  4. [Rave] un message que je ne comprends pas
    Par Clotilde dans le forum Rave
    Réponses: 2
    Dernier message: 30/09/2003, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo