Bonjour,
J'i le code Java suivant pour me connecter à un second datasource :
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
 
public void setConnection() throws FrmException {
        System.out.println(dataSourceName);
        Context ctx = null;
        DataSource ds = null;        
        try{
            ctx = new InitialContext();
        }catch(NamingException e){
            throw new FrmException(FrmConstants.CDE_FACTORYDB_INITCTX_NOTFOUND,0,FrmConstants.MSG_FACTORYDB_INITCTX_NOTFOUND);
        }
        try{    
            ds = (DataSource)ctx.lookup(dataSourceName);
            try{
                connection = ds.getConnection();            
            }// Erreur SQL de la class
            catch (SQLException e) {
                throw new FrmException(FrmConstants.CDE_FACTORYDB_SQL,e.getErrorCode(),FrmConstants.MSG_FACTORYDB_SQL + " setConnection() : " + e.toString());
            }           
        }catch(NamingException e){
            // 21/10/2004 Plus de connexion batch, donc erreur si pas de connexion (avant 24/09/2003 : Pour connexion BATCH)
            throw new FrmException(FrmConstants.CDE_FACTORYDB_LOOKUP, 0, FrmConstants.MSG_FACTORYDB_LOOKUP + " . Erreur JAVA : " + e.toString());
        }
    }
J'ai un plantage à la ligne suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ds = (DataSource)ctx.lookup(dataSourceName);
La valeur de mon dataSourceName vaut "java:comp/env/dsSID/DataSource"
J'obtient l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
FactoryDB.setConnection:Lookup:erreur NamingException. . Erreur JAVA : javax.naming.NameNotFoundException: While trying to look up comp/env/dsSID/DataSource in /app/webapp/MonAppli/20021291.; remaining name ¤comp/env/dsSID/DataSource¤
J'ai testé mon Pool de Connection sous l'interafce de Weblo et ça fonctionne bien.