Bonjour à tous.
J'ai un problème, et je ne sais pas très bien comment l'exprimer (a voir, le titre n'est pas très parlant).
Quoi qu'il en soit, je souhaiterais configurer ma datasource, je m'explique :
Je suis alternant, j'ai un projet dans mon entreprise, et pour des raisons de confidentialité, je ne pourrai presque pas montrer de code complet.
D'habitude, j'utilise un composant (sur lequel je n'ai pas la main) pour effectuer mes accès à une BDD Oracle 10.g.
Ce composant est utilisé par des applications Web, qui tournent sur un serveur JBOSS 4.2.2.
Mon application à moi tourne sur un serveur JBOSS AS 7.1.1. J'ai configuré mes datasources dans mon JBOSS avec Oracle. J'ai du rajouter la clause suivante dans la configuration :
<new-connection-sql>ALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'</new-connection-sql>
En effet, il fallait que j'utilise un format par défaut car le "to_date" n'est pas utilisé dans le composant d'accès à la BDD.
Maintenant, dans mon appli, je lance des tests unitaires avec Junit, et c'est la que ça plante. En effet, avec Junit, j'ai du faire persister ma datasource manuellement, de cette façon :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.naming.java.javaURLContextFactory");
System.setProperty(Context.URL_PKG_PREFIXES, "org.apache.naming");
ic = new InitialContext();
try {
ic.createSubcontext("java:");
ic.createSubcontext("java:comp");
ic.createSubcontext("java:comp/env");
ic.createSubcontext("java:comp/env/jdbc");
} catch (Exception e) {
}
// Construct DataSource
OracleConnectionPoolDataSource ds = new OracleConnectionPoolDataSource();
...
try {
ic.bind("java:comp/env/jdbc/pcsadb", ds);
} catch (Exception e) {
}
} |
Ne faite pas attention au try_catch... c'est pas propre, mais j'ai mes raisons (je pourrais vous le dire si vous me le demandez)
Et donc, avec ceci, j'arrive à me connecter à ma BDD, mais je perd la clause :
<new-connection-sql>ALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'</new-connection-sql>
qui est dans mon JBOSS7.
Ma question est donc la suivante : Comment faire pour qu'en JAVA, je lance une requête par défaut à chaque nouvelle connexion ?
J'espère avoir été claire, si non, demandez moi plus d'informations.
J'ai vraiment besoin d'aides, car là c'est le seul point qui me pose soucis.
Merci d'avance
Cordialement.
Kyuubii_74
Partager