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

JDBC Java Discussion :

erreur lors d'une connexion a une base sql server


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut erreur lors d'une connexion a une base sql server
    Bonjour,

    J'ai créé une classe pour me connecter à une base SQL server 2005, effectuer une requete et afficher le résultat. Pour cela j'ai importer le sqljdbc.jar dans mon projet.

    Mais hélas j'obtiens une erreur. Si j'ai bien compris il ne se connecte pas au serveur. Sauriez-vous pourquoi?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    com.microsoft.sqlserver.jdbc.SQLServerException: Échec de la connexion à l'instance nommée . Erreur : java.net.SocketTimeoutException: Receive timed out.
    	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
    	at com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(Unknown Source)
    	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)
    	at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)
    	at java.sql.DriverManager.getConnection(Unknown Source)
    	at java.sql.DriverManager.getConnection(Unknown Source)
    	at test_jdbc.Test.<init>(Test.java:16)
    	at test_jdbc.Test.main(Test.java:43)
    Voici ma classe :
    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
    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
     
    package test_jdbc;
     
    import java.sql.*;
     
    public class Test {
     
    	public Test(){
     
    		try {
     
    			 // chargement du pilote JDBC
    			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
    			 // adresse de connexion
    			String url = "jdbc:sqlserver://LENOVO-3000J\\SQLEXPRESS;databaseName=PROMOCR;integratedSecurity=true";
    			 // connexion
    			Connection connexion = DriverManager.getConnection(url); 
    			 // création d'une instruction
    			Statement instruction = connexion.createStatement();
    			 // requete SQL qui permet de lister les clé primaires
    			String requete = "EXEC sp_pkeys @table_name='CR'";
    			 // execution de la requete
    			ResultSet executionRequete = instruction.executeQuery(requete);
    			while (executionRequete.next()) {
    				System.out.println(executionRequete);
    			}
    			connexion.close();
     
    		} catch (ClassNotFoundException e) {
    			e.printStackTrace();
    			// TODO: traitement erreur
    		}
    		  catch (SQLException sqle){
    			  sqle.printStackTrace();
    		    // TODO: traitement erreur
    		  }
     
    	}
     
     
     
     
    	public static void main(String[] args) {
    		Test test = new Test();
     
    	}
     
    }
    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Salut,

    en general si tu obtiens un timeout ca peut venir d une mauvaise ip de ta cible (enfin tu n aurais pas mise la bonne dans ton code) ou un mauvais port.

    Sinon as tu bien pensé au firewall traversé pour attaquer ton serveur ?

  3. #3
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    Salut,

    ben j'ai précisé le serveur sur lequel est ma base dans SQL SERVER mais pas de numéro de port:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    //LENOVO-3000J\\SQLEXPRESS
    sinon pour
    Sinon as tu bien pensé au firewall traversé pour attaquer ton serveur ?
    je ne vois pas bien ce que tu veux dire en fait.

    Encore merci de ton aide.

  4. #4
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    ben le but d un firewall est d empecher les connexion sur la plus part de sports d un pc sauf ceuc laissé ouvert comme le 80 souvent (internet).

    Si tu tente de te connecter sur un port bloqué par le firewall du serveur ca pourrait expliquer le timeout, ta requete est envoyé au serveur mais le firewall la bloque et du coup tu n as aucune reponse

  5. #5
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    Merci beaucoup.

    J'ai bien compris mais le problème c'est que je ne sais pas quel port utilise le serveur.
    Quand je me connecte depuis SQL server à ce serveur cela fonctionne.

    edit : ci-joint un screen des propriétés de ma connexion sous sqlserver
    Images attachées Images attachées  

  6. #6
    Membre éclairé Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Par défaut
    j'ai désactivé le pare-feu. Mais apparemment c'est pas cela qui génait car j'ai toujours mon time out.

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

Discussions similaires

  1. [PHP 5.4] Erreur lors de l'appel d'une méthode dans une classe
    Par beegees dans le forum Langage
    Réponses: 8
    Dernier message: 25/01/2015, 14h20
  2. Réponses: 8
    Dernier message: 19/05/2010, 20h47
  3. Erreur lors de la connexion a une base access
    Par skunkies dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/10/2008, 18h17
  4. Réponses: 10
    Dernier message: 07/08/2008, 10h09
  5. envoyer une string dans la base sql server
    Par tortuegenie dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/04/2008, 10h38

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