Salut,

J'ai actuellement un bean java qui tourne en permanance à intervales réguliers. Il prend des XML remontés par des sondes, et les insere dans une DB de type Oracle.
Tout fonctionne à merveille... Du moment que la base n'est pas arrettée. Je l'ai laissé tourner tout le week end, et à mon grand regret la base est redémarée tous les jours vers 1h du matin.
Je me suis retrouvé avec des exceptions :
java.sql.SQLException: ORA-12505: TNS: listener could not resolve SID given in connection description.
Donc en fait, la base est coupée mais le listener lui, ne l'est pas. Il n'arrive pas à me rediriger vers la base ce qui donne cette exception.
Or, lorsque la base redevient accessible, j'ai toujours ce problème de listener.
Voici mon traitement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
if(connexion())
{
   // execution de requettes
   deconnexion();
}
Et voici mes fonctions connexion() et deconnexion() :
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
 
   /*
     *Fonction de connexion à la base de données
     */
    public boolean connexion()
    {
    	try 
    	{
         	DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
         	connOBS = DriverManager.getConnection(oracleOBS,"surveillance","ctival");
         	stmtOBS = connOBS.createStatement();
         	return true;
       	}
       	catch (Exception e) 
       	{
 
       		System.out.println("Impossible de se connecter à la base : \n"+e);
       		e.printStackTrace();
       		return false;
       	}
    }
 
    /*
     *Fonction de deconnexion à la base de données
     */
    public void deconnexion()
    {
    	try
    	{
    		stmtOBS.close();
    		connOBS.close();
    	}
    	catch(Exception e)
    	{
    		System.out.println("Impossible de se déconnecter de la base : \n"+e);
    		e.printStackTrace();
    	}
    }
merci d'avance

Fred

edit : si vous pensez que ce post a plus sa place dans le forum oracle, allez y déplacez . Comme ca concerne les deux technologies, je savais pas ou poster