Connexion à une base sql server avec java

elvira88 Messages postés 5 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 9 décembre 2010 - 9 sept. 2009 à 19:07
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 - 10 sept. 2009 à 09:53
Salut,
je veux réaliser une application en java dans le cadre de mon stage, mais j'ai un problème, je n'ai jamais utiliser sql server, j'ai écris un code de connexion à la base sql server. voici le code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package essai1;
import java.sql.*;
import java.io.*;
/**
*
* @author stagiaire.ia
*/
public class Connection{
public Connection con=null;
public Statement stmt;
public Connection(){
try {
//Class.forName("org.gjt.mm.mysql.Driver").newInstance();
Class.forName("com.sqlserver.jdbc.Driver").newInstance();
}
catch (Exception e1)
{
System.out.println("Problème de chargement du pilote, " +e1.getMessage());
}
try {
//Etablissement d'une connexion à la base
con = (Connection) DriverManager.getConnection("jdbc:sqlserver://localhost:1433/TEST", "admin", "adminadmin");
//Désactivation de la validation automatique de la transaction
con.setAutoCommit(false);
//Création d'un état pour les projections
stmt=con.createStatement();
}
catch( SQLException e2){
System.err.println(e2.getMessage());
}
}

private void setAutoCommit(boolean b) {
throw new UnsupportedOperationException("Not yet implemented");
}

private Statement createStatement() {
throw new UnsupportedOperationException("Not yet implemented");
}



}

je rappel qu'avant cela j'ai telecharger le driver de sql server et j'ai copié les fichier jar dans le répertoire lib de java. j'ai aussi configuré le CLASSPATH.
malgré ça à l'exécution voici l'erreur que netbeans me renvoie!

Problème de chargement du pilote, com.sqlserver.jdbc.Driver
No suitable driver found for jdbc:sqlserver://localhost:1433/TEST
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at essai1.FrmConnection.jBvaliderActionPerformed(FrmConnection.java:148)
at essai1.FrmConnection.access$100(FrmConnection.java:19)
at essai1.FrmConnection$2.actionPerformed(FrmConnection.java:67)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Svp est ce que vous pouvez m'aider à trouver l'erreur pour régler ce problème.
Je vous remercie d'avance.

2 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
10 sept. 2009 à 09:52
Salut,

alors plusieurs points :
[list]
[*] utilise les balises 'code', c'est plus lisible
[*] faire une classe qui a le même nom qu'une autre est un risque potentiel de conflit dans lequel tu es tombé. Tu vas avoir une ClassCastException à l'exécution : java.sql.Connection et stagiaire.ia.Connection ce n'est pas pareil
[*] après le Class.forName(), tu n'es pas obligé de faire le newInstance. Il suffit de charger la classe, non de l'instancier
[*] es tu sûr de l'url d'accès à la base, sur le site de microsoft ? j'ai trouvé comme url 'jdbc:microsoft:sqlserver'
[*] pourquoi avoir mis le jar dans les lib de java (je suppose que tu parles du répertoire où est installé java) et non dans le classpath du projet directement dans netBeans ?
/list
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
10 sept. 2009 à 09:53
argh, la mise en forme avec les listes ne marche pas alors que c'est bon dans l'aperçu ...
0
Rejoignez-nous