Connexion à une bd SQL server

Signaler
Messages postés
5
Date d'inscription
jeudi 17 août 2006
Statut
Membre
Dernière intervention
12 février 2007
-
Messages postés
2
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
22 juin 2008
-
je suis bloqué svp, si vous pouvez m'aider.


voila mon problème : je veux me connecter à une bd SQL server comment faire?


- j'ai telechargé le driver de JDBC pour reconnaître SQL server.


- j'ai reglé le CLASSPATH


 


    set CLASSPATH=.;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server         2000 Driver for JDBC\lib\msutil.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar


- la partie du code pour la connexion à la bd:


    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection conn = DriverManager.getConnection ("jdbc:microsoft:sqlserver://localhost:1433;User=user;Password=pwd");


 


et j'ai le message d'erreur suivant:




Erreur :





java.lang.ClassNotFoundException


: com/microsoft/jdbc/sqlserver/SQLServerDriver


ca marche pas. si vous avez des suggestions merci beaucoup.

10 réponses

Messages postés
80
Date d'inscription
mardi 26 juillet 2005
Statut
Membre
Dernière intervention
3 février 2008

j vous conseil de reconfigurer votre classpath
si sa marche pas ta qua décompréssé ton driver dans le meme dossier ou se trouve tes classes et j pense que sa va marcher bonne chance l ami
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
37
Salut :

Ajouter le driver JDBC dépend du compilateur utilisé.

Dans le cas d'eclipse ou JDK tu dois décompresser le ficher JAR dans le réperoire de la source.

Dans le cas de JBuilder il faut ajouter le fichier JAR aux librairies du projet.

dernière remarque : il vaut mieux traiter l'exception ClassNotFoundException
try {
   // Initialiser le pilote de SQL server
   Class.forName ();
}
catch (ClassNotFoundException e) {
   System.out.println ("Problémes d'initialisation ...");
   System.exit (1);
}
  
Messages postés
100
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
7 octobre 2007

Bon, tt d'abord il faudrait préciser d'ou tu lances l'exécution : à partir de la console, en exécutant directement le .class, ou a partir d'un éditeur (et lekel)... s'il s'agit du second cas, la solution est de chercher ds propriétés du projet, un label ki ressemblerait à bibliothèque ou chamin de classes, cliquer sur le label et indiquer le chemin des jars...sinon, il se peut que c'est l'espace dans les noms de dossier qui causent problème..si c'est le cas, il y a une sol assez simple, c'est de créer un dossier directement sous le lecteur, et donner à ce dossier un nom ne contenant aucun espace, par exple c:\classpath, puis y places tes jars et enfin régler le classpath...
Messages postés
7
Date d'inscription
jeudi 15 décembre 2005
Statut
Membre
Dernière intervention
7 septembre 2006

J'ai exatement le meme probleme. Je travail sur eclipse en java.


1) j'ai réglé le classpath. et ça ne fonctionnait pas.


2) j'ai changé le .jar de repertoir : C:\driver\sqljdbc.jar et reréglé mon classpath et ça ne fonctionnait toujours pas.


3) j'ai décompressé le .jar dans le repertoire de mon application .java et ça ne fonctionne toujours pas.


voilà le code de mon appli java:



package package1;




import




java.sql.*;



public





class

Start {







/**








*




@param




args






*/







public





static





void

main(String[] args) {


//

TODO

Auto-generated method stub







try

{Class.forName(


"com.microsoft.sqlserver.jdbc.SQLServerDriver"
);

 

}



catch

(ClassNotFoundException e ){System.



out

.println(

"he merde il trouve pas le pilote \n"
+ e);}


}
}

voilà
Messages postés
100
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
7 octobre 2007

sur eclipse, tu doisprocéder comme suit, clik btn droite sur ton projet, (g la version anglaise,3.1, donc je vais indiquer les libellés anglais), clike sur propriété, tu trouveras "Java Build Path" (chemin de construction ~), clike sur, puis tu auras 4 onglets, dont la troisieme est "Libraries", clike sur, puis clike sur le bouton Add External Jars, et navigue jusqu'a ton jar...fouille encor plus et tu trouveras d'autres méthodes de conf de classpath ds eclipse, comme les biblio prédéfinies, ou l'ajout d'un dossier lib ds le répertoire ou se trouve ton projet, puis cliker sur add jars, etc...etc...Il faut fouiller, un éditeur est fait par des dizaines de développeurs, donc attends toi à un nbre de possibilités inattendu, et va les chercher...
Messages postés
7
Date d'inscription
jeudi 15 décembre 2005
Statut
Membre
Dernière intervention
7 septembre 2006

Un grand merci. Maintenant la virtual machine trouve le driver.


Mais je n'arrive pas à me connecter à la base de données (sql server express 2005).







Lorsque je lance SQLserver express, il indique ceci.
server name: MARLENE\SQLEXPRESS
 user name:MARLENE\dupond
authentification: Windows authentification

Voici mon code.




package




package1;



import




java.sql.*;





public








class

Start {










public





static





void

main(String[] args) {










try

{Class.forName(


"com.microsoft.sqlserver.jdbc.SQLServerDriver"
);


}








catch

(ClassNotFoundException e ){System.



out

.println(e);}



try

{Connection con = DriverManager. getConnection (


"jdbc:sqlserver://localhost;user =NULL;password= NULL"
);}



catch

(SQLException e){System.



out

.println(e);}

}

}

j'obtient le message d'erreur suivant.

com.microsoft.sqlserver.jdbc.SQLServerException


: Échec de la connexion TCP/IP à l'hôte .


java.net.ConnectException

: Connection refused: connect
Avec le code suivant

Connection con = DriverManager. getConnection (

"jdbc:sqlserver://localhost\\MARLENE\\SQLEXPRESS;user =MARLENE\\dupond");

ou

Connection con = DriverManager. getConnection (
"jdbc:sqlserver://MARLENE\\SQLEXPRESS;user =MARLENE\\dupond"
);
J'obtient le message suivant:




com.microsoft.sqlserver.jdbc.SQLServerException




: Échec de la connexion à l'instance nommée . Erreur :


java.net.SocketTimeoutException

: Receive timed out.






Encore merci pour tout
Messages postés
100
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
7 octobre 2007

bon, j suis pas trop SQL Server, mais g eu à vivre cette expérience, et à ctte époque g trouvé deux sol : l'une, je m'en rappelle pas trés bien, et qui consiste à ajouter des params dans la chaine de connexion (Voir la documentation de SQL Server Jdbc Driver), et l'autre c'était de désinstaller sql server et le réinstaller avec authentification sql , bon pr activer l'authentification sql, il n'est pas impératif de désinstaller, y a une clé ds le registre,( HKEY_LOCAL_MACHINE\SOFTWARE\..... (jusqu'a trouver sql server)) dont on modifie la valeur de 0 à 1...
Messages postés
2
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
22 juin 2008

Bonjour,
je suis nouveau en java, mais je me debrouille pas mal.
pour votre probleme, il y'a plusieurs etapes à faire,si c'est avec sql serveur 2000 que vous cherchez à faire la connexion:

1- télecharger le pilote Microsoft SQL SERVER 2000 Driver for JDBC
2- lancer l'executable et faire cliquez sur suivant jusqu'à terminer l'installation.
3- le systeme crée dans le repertoire C:\Program Files un dossier du nom de:Microsoft SQL Server 2000 Driver for JDBC
4- dans ce dossier il y'a parmis d'autres un sous-dossier appelé: "lib" qui contient 3 fichiers jar dont je cite: msbase.jar mssqlserver.jar et msutil.jar

5- maintenant au niveau de votre projet aller sur: la rubrique projet->propriété du projet-> bibliothéque necessaires, pour ajouter les 3 bibliothèques que j'ai cité à l'étape 4

6- ajouter ceci dans votre classe de connexion:
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
}
catch (Exception e) {
JOptionPane.showMessageDialog(null,"Erreur de chargement du pilote odbc " +e.getMessage());
System.exit(0);
}

puis ajouter:

try {
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost;databaseName=quinca;User=admin;Password=admin");
}
catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erreur connection " + e.getMessage());
System.exit(0);
}

Remarque importante:
dataBaseName= au nom de votre base de donnée tel qu'il apparait dans le "sql server Entreprise Manager" et non le fichier .MDF

localhost: si c'est en local; vous voyez je n'ai pas specifier de port car les ports sont utilisés pour acceder à une base de données distante.

il faut assi créer le User et son Password au niveau de votre base de données, puis lui attribuer tous les droits d'accés

Reéxecuter votre projet et je vous souhaite bonne chance en te disant que: ma connexion est établie pourquoi pas la votre?

merci
Messages postés
5
Date d'inscription
jeudi 17 août 2006
Statut
Membre
Dernière intervention
12 février 2007

Bonjour monsieur Hachimdev
moi aussi j suis nouveau en java.
merci pour le message, je suis bien heureux que mon code vous a ete utile.
et je profite de cette occasion pour vous donner ce lien ( il s'agit d'un cours de java et aussi ds le même site  java sous Eclipse )
http://perso.orange.fr/jm.doudoux/java/tutorial/index.htm

bonne navigation.
Messages postés
2
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
22 juin 2008

bonjour tous le monde,
vous ne savez pas si  Mr doudoux pense publier sous forme de livre ses cours sur java:
- developpons en java
- developpons en java avec eclipse

je les trouve trés riche et je pense bien que ce serai mieu de les imprimer car j'aimerai les versions complétes.

Un grand Merci à Doudoux, le monde java vous remercie.