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 :

Perte de connexion sans raison


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut Perte de connexion sans raison
    Bonjour,

    J'aurai besoin d'aide concernant un accès à une base de donnée (ici MySQL en l'occurance.)

    L'ouverture de l'accès à la DB se fait correctement (sinon j'aurai des erreurs à ce niveau là). Mais lorsque j'essaie d'executer une query (plutôt de la préparer), j'ai un NullPointerException, comme si la connexion avait disparue.

    Pour ouvrir la connexion, j'ai cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void openDataAccessTo(String ldsn) throws DataException {
     
    		conn = IConnectionMgr.INSTANCE.getConnection(ldsn);
    	}
    conn étant une variable de classe privée. J'ai vérifié son contenu après le getConnexion et elle contient bien la connexion.

    Dans la même classe, j'ai cette autre méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public PreparedStatement prepare(String pss) throws DatabaseStatementexception
    	{
    		try
    		{
    			return conn.prepareStatement(pss);
    		}
    		catch(SQLException se)
    		{
    			throw new DatabaseStatementexception("prepared statement a échoué" + pss);
    		}
    	}
    Et là, j'ai le NullPointerException parce que "conn" est null. Je n'arrive pas à déterminer pourquoi.

    Avez-vous une idée du pourquoi du comment ?

    (S'il faut plus de précision, n'hésitez pas mais c'est parce que si je dois mettre tout le code, ça va faire très très long et je doute que vous vous amusiez à tout lire :/)

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    je dirais que ton IConnectionMgr.INSTANCE.getConnection(ldsn) t'as renvoyé un null. Sans avoir son code, impossible de te dire pourquoi

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Non du tout, il ne me renvoie pas null. J'ai testé le contenu renvoyé et il renvoie bien la connexion.

    Cependant, comme dit plus haut, la variable "conn" devient null comme par magie.

    La preuve, c'est que si je place le getConnection dans la méthode prepare, cela fonctionne parfaitement.
    Mais ce n'est pas la solution souhaitée :/

    Et dans mon appli, même si je lance l'ouverture de la connexion et que juste après je lance un prepare, cela ne fonctionne pas non plus. la variable redevient nulle :/

    Même si dans mon code, j'ouvre une connexion avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UCC.INSTANCE.openDataAccessTo("appli");
    et que juste après j'execute une query :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JdbcServices.INSTANCE.prepare("...");
    (Ce que normalement je ne peux faire puisque l'ihm n'est pas sensé appeler directement le Jdbc) Ben j'ai un NullPointer.

    Qu'est-ce que cela pourrait dire ? Qu'en réalité, la connexion n'est pas réellement ouverte quand l'execution de prepare se lance par le JdbcServices ? Comment je pourrais éventuellement tester ça ?

    //edit : Ah ben en fait, je pense avoir trouver. Dans mon interface JdbcServices, mon instance est un nouvel objet de ma dal, et donc ayant une connection null :/ Va falloir que je modifie ça

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

Discussions similaires

  1. BUG: pertes des droits d'acces sans raisons apparentes
    Par myz-rix dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 28/05/2015, 21h17
  2. Plantage ESX suite perte connexion SAN
    Par faaaa dans le forum VMware
    Réponses: 1
    Dernier message: 27/05/2013, 09h40
  3. [OL-2007] Perte des catégories de contact sans raisons
    Par gribouille75017 dans le forum Outlook
    Réponses: 1
    Dernier message: 11/03/2012, 14h33
  4. [Data] Perte de connexion à la base sans auto-reconnexion
    Par Yoann.chambonnet dans le forum Spring
    Réponses: 0
    Dernier message: 02/10/2009, 15h04
  5. Réponses: 2
    Dernier message: 17/01/2007, 19h23

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