Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de connexion vers ExaCC

    15 juillet 2021 à 11:22:48

    Bonjour à tous,

    Je débute sur Java et je souhaiterais avoir votre aide concernant mon problème. Je suis bloqué depuis un moment.

    Avant :

    J'ai une application java qui se connecte aux bases Oracle et ça fonctionne bien.

    Maintenant :

    En plus des bases Oracle, nous avons des bases ExaCC. Selon l'onglet sur lequel on clique dans l'application web, on se connecte soit sur la base Oracle, soit sur la base ExaCC.

    Problème :

    Le problème c'est que les connexions vers Oracle marchent très bien, mais impossible de faire marcher la connexion vers ExaCC. Pourtant, ce dernier est basé sur Oracle. La variable de connexion est nulle.

    Erreur :

    Executing action [list] of controller [fr.MonController] caused exception RequestIdFilter at line 38
    Error Details
    Error 500	Executing action [list] of controller [fr.MonController] caused exception: Runtime error executing action
    Servlet	grails
    URI	/MonURL/list.dispatch
    Exception Message:	Cannot invoke method size() on null object
    Caused by:	Cannot invoke method size() on null object
    Class:	RequestIdFilter
    At Line:	[38]
    Code Snippet:


    Code :

    public class MaClasse1 {
    	private static  Connection ConnectionBase ;
    	
    	public static void ConnectionOracleBase ()
    	{	
    		//Class.forName("oracle.jdbc.driver.OracleDriver");
    	
    		try {
    			if(ENV.contains("MonENV1")){
    				// Oracle : OK
    				ConnectionBase= DriverManager.getConnection("jdbc:oracle:thin:@URL:PORT:SID","USER","MDP");
    			}else if(ENV.contains("MonENV2")){
    				// Oracle : OK
    				// Affiche bien "TOTO1"
    				ConnectionBase= DriverManager.getConnection("jdbc:oracle:thin:@URL:PORT:SID","USER","MDP");
    				System.out.println("TOTO1");
    			}else if(ENV.contains("MonENV3")){
    				// ExaCC : KO
    				// Affiche bien "TOTO2"
    				System.out.println("TOTO2");
    				ConnectionBase= DriverManager.getConnection("jdbc:oracle:thin:@//URL:PORT/SERVICE_NAME","USER","MDP")
    				// N'affiche pas "TOTO3"
    				System.out.println("TOTO3");
    			}
    			
    			// Pour Oracle : affiche "Connexion non null"
    			// Pour ExaCC : n'affiche rien
    			if (ConnectionBase == null) {
    				System.out.println("Connexion null");
    			} else System.out.println("Connexion non null");
    		
    		} catch (Exception e) {
    			e.printStackTrace();
    		} 
    	}
    }


    Auriez-vous une idée svp ?

    Merci d'avance,

    • Partager sur Facebook
    • Partager sur Twitter
      16 juillet 2021 à 21:42:15

      La seule explication que je vois pour le fait qu'il skip TOTO3 et "Connexion non null" est que ça lance une exception dans la ligne où tu fais un getConnection. Tu reçois un stack trace avec ce code ?

      Sinon, assure-toi d'abord que la BDD de ExaCC est bien opérationnelle est qu'elle accepte des connections. Je sais pas s'ils ont un client en ligne de commande, si c'est le cas je recommande que tu confirmes d'abord qu'il te permet de te connecter avec succès, histoire d'éliminer que le souci vient de là.

      • Partager sur Facebook
      • Partager sur Twitter
        19 juillet 2021 à 11:02:34

        Bonjour Scroph,

        Merci pour ta réponse. 

        La stack trace est dans mon poste, il y a un autre ?

        Concernant la BDD, tout est OK de ce côté là. J'utilise cette base tous les jours. J'arrive bien à me connecter que cela soit via SQL Developer ou SQLPlus.

        • Partager sur Facebook
        • Partager sur Twitter

        Problème de connexion vers ExaCC

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown