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 :

[DEBUTANT]SQL serveur connexion


Sujet :

JDBC Java

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut [DEBUTANT]SQL serveur connexion
    Salut à tous,

    Je viens de me mettre à SQL serveur. J'ai lu les tutoriaux. Jusque là tout va bien requêtes et tout et tout.
    Maintenant je veux passer à la partir client avec de préference une interface java. Les ennuis commencent...
    En effet, J' ai télécharger le driver ce qui n'a pas eu grand effet erreur à la compilation : Après j'ai vu sur le net qu'il y avait des .jar que certains conseillent vivement. Donc je les ai installer. Maitenant l'erreur est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing
    Je pense que je ne sais pas définir l'url.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
     
                // URL de connexion
                String url = "jdbc:microsoft:sqlserver://PHILIPPE;user=operateur;password=phiphi;DatabaseName=Programme_dl_IC";
     
                // Connexion
               Connection con = DriverManager.getConnection(url);
    Je travail sur le PC qui a le moteur de base de donnée.

    Voilà, merci d'avance à tous.

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Je pense que je ne sais pas définir l'url.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
     
                // URL de connexion
                String url = "jdbc:microsoft:sqlserver://PHILIPPE;user=operateur;
    password=phiphi;DatabaseName=Programme_dl_IC";
     
                // Connexion
               Connection con = DriverManager.getConnection(url);
    Essaye avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
     
                // URL de connexion
                String url = "jdbc:microsoft:127.0.0.1/nom_db";
                // Connexion
               Connection con = DriverManager.getConnection(url, pseudo, password);

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    merci,
    ça s'améliore, mais il me dit :

    java.sql.SQLException: No suitable driver

    Finalement je pense ue j'ai encore des soucis avec mon driver...

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Est tu sûr de ton chemin "com.microsoft.jdbc.sqlserver.SQLServerDriver" ?

    Sinon essaie avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    pour le chemin j'en sais rien. C'est le chemin que j'ai trouvé dans tous les exemple qui a su rle net. Je nage un peu....
    Je vais essayer ce que tu m'as dit.
    @+

  6. #6
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    Salut,
    j'ai fait ce que tu m'as dit. Je pense qu'il menque quelques choses car à la compilation il est indiqué : .......must to be caugth or declared to be thrown.
    Bonne nuit et merci

  7. #7
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Bonsoir,
    TRy{} catch(){} pour ton exception, quel est le type de ton exception?
    Pourquoi ca marche jamais?Vive le café!

  8. #8
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    Salut,
    voici ce que me dit le compilateur :

    test.java [11:1] unreported exception java.lang.InstantiationException; must be caught or declared to be thrown
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

    J'ai mis un catch (InstantiationException e1) et il me répond :

    test.java [11:1] unreported exception java.lang.IllegalAccessException; must be caught or declared to be thrown
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();


    Je pense que je dois faire n'importe quoi....

  9. #9
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Ajoute un second catchà la suite du premier.
    Pourquoi ca marche jamais?Vive le café!

  10. #10
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    Bon, c'est toujours un problème de driver.
    J' ai mis les msbase.jar, msutil.jar, mssqlserver.jar
    J'ai installer le driver de microsoft.
    Mais rien à faire ça marche pas.....
    Peut être faut il changer l'utilisateur?
    Enfin si vous connaissez une adresse qui explique pas à pas, ça sera avec plaisir.

    Merci d'avance.

  11. #11
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    Bonjour,

    Je remets cette discussion sur le tapis car je n'ai toujours pas trouvé de solutions. J'ai demandé à un tas de gens autour de moi et rien ni fait. J'ai essayé de laisser mariné, mais non ça marche pas.
    Il y a eu une avancé notable j'ai comme erreur, maintenant :

    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.

    En utilisant comme url :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "jdbc:microsoft:sqlserver://Local/, user=sa, password=phiphi"
    Mais quand j'utilise une autre url j'ai une autre erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Connection con = DriverManager.getConnection("jdbc:microsoft:127.0.0.1/Programme_dl_IC", "sa","phiphi");
    Alors j'ai l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     java.sql.SQLException: No suitable driver
    Pour la première erreur une personne avait posté sur le forum, et disait quant installant service pack 4 la connexion s'établissait. C'est ce que j'ai fait sans résultat. J'ai aussi essayé avec tous les type de driver JDBC proposé par Microsoft.

    Bref je donne ma langue au chat!!!!

  12. #12
    Nouveau membre du Club
    Profil pro
    Architecte
    Inscrit en
    Mai 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2005
    Messages : 18
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Tout d'abord, l'erreur
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    indique que ton driver est bien trouvé/chargé. C'est l'établissement de la connexion à la base par ton driver qui échoue.

    J'ai eu une erreur similaire il y a environ 2 ans, suite à la mise jour du SP2 de XP. Ce SP fermait le port 1433 utilisé pour les connexions TCP/IP par SQL server. Donc, les drivers qui utilisaient ce protocol pour accèder à la base ne fonctionnaient plus. Pour information, j'utilisais principalement MSDE (version desktop de sql server).

    J'avais identifié deux solutions :
    1. ré-ouvrir ce port : pour cela, j'ai installé le SP3a de SQL Server. (maitenant ils sont au 4 mais c'est pareil), avec 2 options
    • DISABLENETWORKPROTOCOLS=0 : pour ré-ouvrir le port 1433
    • SECURITYMODE=SQL UPGRADEUSER=AnAdminLogin UPGRADEPWD=AdminPassword : pour pouvoir utiliser l'authentification SQL et non les comptes utilisateurs Windows (mode par défaut).

    Ces options sont à utiliser dans la ligne de commande de mise à jour du SP4 ou dans le fichier ini du setup pour une instal.
    Peut-être que pour les versions non desktop, ces options sont activables via l'IHM.

    2. utiliser les "namedPipe" au lieu des connexions TCP/IP. Je pense que le driver microsoft doit avoir cela. Sinon, utilse le driver jtds (http://jtds.sourceforge.net/) avec l'option namedPipe à true.

    Sinon, l'url de connexion avec le driver microsoft est bien de la forme
    jdbc:microsoft:sqlserver://localhost:1433;databaseName=maBase;user=utilisateur;password=mdp

    Il reste une solution : utiliser odbc.

  13. #13
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    Merci de m'avoir répondu.
    Je vais essayer les solutions que tu m'as proposées. Et si ça marche pas j'arrête la JDBC pour sql serveur.
    Dans tous les cas merci de ton aide.

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

Discussions similaires

  1. [debutant][sql serveur express]installation plante sur vista utimate !
    Par ChristopheOce dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 16/11/2007, 09h36
  2. Réponses: 5
    Dernier message: 23/10/2007, 14h58
  3. SQL-SERVEUR 2000 [debutant] connexion à la base
    Par ducho dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 17/03/2006, 10h05
  4. [debutant]sql serveur et not null?
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/11/2004, 16h21
  5. connexion sql serveur
    Par DiJiRiDouS dans le forum ASP
    Réponses: 10
    Dernier message: 16/09/2003, 16h14

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