Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > JDBC
JDBC Forum d'entraide sur l'API JDBC (Java Database Connectivity) et l'accès aux bases de données. Avant de poster -> FAQ JDBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/12/2012, 21h24   #1
harkrisz
Candidat au titre de Membre du Club
 
Inscription : juin 2012
Messages : 107
Détails du profil
Informations forums :
Inscription : juin 2012
Messages : 107
Points : 11
Points : 11
Par défaut Problème de connexion JDBC

Bonjour,

Je voudrais bien crée une table avec jdbc, mais j'ai déjà une problème avec la connexion entre sql server et eclipse.

Voilà le code java que j'utilise:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
 
import javax.swing.JOptionPane;
 
public class Test {
 
	public static void main(String[] args) {
 
		Connection connexion = null;
		try
		{
			//Chargement de la classe du driverJDBC de SQLServer 2005
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
 
			//Ouverture de la connexion avec sqlserver tournant sur la meme machine
			connexion = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=maBase;user=sa;password=monmotdepasse;");
			JOptionPane.showMessageDialog(null, "Connexion OK");			
		}
 
		//Exception déclenchée si la classe n'est pas chargée par forName
		catch(ClassNotFoundException ex)
		{
			JOptionPane.showMessageDialog(null, "Classe introuvable "+ex.getMessage());
		}
 
		//Exception déclenchée en cas de problème avec le SGBD
		catch(SQLException ex)
		{
			JOptionPane.showMessageDialog(null, "Connexion impossible : "+ex.getMessage());
		}
 
		try{
			  Statement st = connexion.createStatement();
			  String table = 
			  "CREATE TABLE Employee11(Emp_code integer, Emp_name varchar(10))";
			  st.executeUpdate(table);
			  System.out.println("Table creation process successfully!");
			  }
			  catch(SQLException s){
			  System.out.println("Table all ready exists!");
			  }
		finally
		{
			try
			{
				if(connexion != null)
					connexion.close(); //Fermeture de la connexion
			}
			catch(SQLException ex)
			{
				ex.printStackTrace();
			}
		}
	}
}
J'ai vérifier dans Sql Server Configuration Manager et le TCP/IP est activé.
J'ai bien mis le sqljdbc4.jar

J'ai une message d'erreur quand j'exécute la class Test comme Java Application:
Connexion impossible: Échec de la connexion TCP/IP à l'hôte localhost, port 1433. Erreur: "Connection refused: connect. Vérifiez les propriétés de connexion. Assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et accepte les connexions TCP/IP au port. Vérifiez que les connexions TCP au port ne sont pas bloquées par un pare-feu."

Ça: "Vérifiez que les connexions TCP au port ne sont pas bloquées par un pare-feu." Je ne sais pas où il faut vérifier (j'utilise Win7). Mais j'ai essayé en désactivant le pare-feu et il ne marche toujours pas.

Merci d'avance votre aide!!!
harkrisz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 10h18   #2
harkrisz
Candidat au titre de Membre du Club
 
Inscription : juin 2012
Messages : 107
Détails du profil
Informations forums :
Inscription : juin 2012
Messages : 107
Points : 11
Points : 11
Il n'y a vraiment personne qui pourrais m'aider?
harkrisz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 11h18   #3
kinaesthesia
Membre éclairé
 
Homme Anthony
Java Analyst Developer
Inscription : mai 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme Anthony
Âge : 23
Localisation : Belgique

Informations professionnelles :
Activité : Java Analyst Developer
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 128
Points : 344
Points : 344
Envoyer un message via Skype™ à kinaesthesia
Bonjour,

Citation:
Je voudrais bien crée une table avec jdbc, mais j'ai déjà une problème avec la connexion entre sql server et eclipse.
Le problème n'est pas Eclipse mais ton applic Java, Eclipse n'est qu'un IDE.


Citation:
Connexion impossible: Échec de la connexion TCP/IP à l'hôte localhost, port 1433. Erreur: "Connection refused: connect. Vérifiez les propriétés de connexion. Assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et accepte les connexions TCP/IP au port. Vérifiez que les connexions TCP au port ne sont pas bloquées par un pare-feu."
Souvent ca peut venir de la plus bête des petites erreurs, est-ce que une instance de SQL server est lancé ?

Essaye un peu sous l'invite de commande windows cette commande :

Code :
netstat -anp TCP | find  "1433"
Et copie ici ce qu'elle retourne.

Cordialement,

Kinaesthesia
kinaesthesia est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/01/2013, 12h36   #4
harkrisz
Candidat au titre de Membre du Club
 
Inscription : juin 2012
Messages : 107
Détails du profil
Informations forums :
Inscription : juin 2012
Messages : 107
Points : 11
Points : 11
Merci pour la réponse!

Citation:
Envoyé par kinaesthesia Voir le message
Souvent ca peut venir de la plus bête des petites erreurs, est-ce que une instance de SQL server est lancé ?
Oui, une instance de SQL server est lancé.


Citation:
Envoyé par kinaesthesia Voir le message
Essaye un peu sous l'invite de commande windows cette commande :

Code :
netstat -anp TCP | find  "1433"
Et copie ici ce qu'elle retourne.
J'ai essayé mais ça ne retourne rien.
harkrisz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 12h42   #5
kinaesthesia
Membre éclairé
 
Homme Anthony
Java Analyst Developer
Inscription : mai 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme Anthony
Âge : 23
Localisation : Belgique

Informations professionnelles :
Activité : Java Analyst Developer
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 128
Points : 344
Points : 344
Envoyer un message via Skype™ à kinaesthesia
Citation:
Envoyé par harkrisz Voir le message
Merci pour la réponse!

Oui, une instance de SQL server est lancé.

J'ai essayé mais ça ne retourne rien.
Alors il y a un problème puisque cette commande permet de savoir s'il y a quelque chose qui écoute sur le port 1433 et apparemment pas.

Êtes-vous sur que l'instance de SQLServer écoute bien sur le port 1433 et non pas un autre ?
kinaesthesia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 13h08   #6
harkrisz
Candidat au titre de Membre du Club
 
Inscription : juin 2012
Messages : 107
Détails du profil
Informations forums :
Inscription : juin 2012
Messages : 107
Points : 11
Points : 11
Comment je peux le vérifier?
harkrisz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2013, 13h49   #7
kinaesthesia
Membre éclairé
 
Homme Anthony
Java Analyst Developer
Inscription : mai 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme Anthony
Âge : 23
Localisation : Belgique

Informations professionnelles :
Activité : Java Analyst Developer
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2011
Messages : 128
Points : 344
Points : 344
Envoyer un message via Skype™ à kinaesthesia
En regardant dans la configuration de ton SQLServer, Je te laisse chercher sur google.

J'ai aussi remarqué dans la doc fournie pas MS : http://msdn.microsoft.com/fr-fr/libr...sql.90%29.aspx

Au paragraphe sur : Exemples de connexion

On trouve ceci :

Bien que l'exemple précédent utilise un nom d'utilisateur et un mot de passe dans la chaîne de connexion, si vous exécutez votre application sur un système d'exploitation Windows, vous devez utiliser une sécurité intégrée, pour mieux sécuriser. Pour plus d'informations, consultez la section Connexion avec une authentification intégrée plus loin dans cette rubrique.

Connexion à la base de données par défaut sur l'ordinateur local à l'aide d'une authentification intégrée :

jdbc:sqlserver://localhost;integratedSecurity=true;
kinaesthesia est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h15.


 
 
 
 
Partenaires

Hébergement Web