...
Chaque canal déclare dans son fichier de configuration les connexions qu'il est susceptible d'utiliser, et ce de la manière suivante :
Pas de formatcode |
---|
<pools> <pool *name="nom logique du pool" *type="JNDI ou JDBC" *url="Nom du pool tomcat si JNDI ou URL du driver JDBC" driverClassName="classe du driver si JDBC" username="nom du user pour la connexion JDBC" password="password pour la connexion JDBC"/> ...... </pools> * = obligatoire |
Il est à noter que les balises "pool" désignent soit un pool Tomcat (type=JNDI), soit une connexion JDBC simple (type=JDBC).
...
Pour pouvoir utiliser les connexions, on récupère sous forme de hashMap la liste des connexions définies dans le fichier de configuration du canal. Il s'agit d'une liste d'objet Database.
Pas de formatcode |
---|
private HashMap connexions = Config.getInstance().getPools(); |
...
- Soit en utilisant la connexion définie comme "default" (attribut name) dans le fichier de configuration :
Pas de formatcode |
---|
qry = Config.getInstance().getConnexionDefault(); |
- Soit en utilisant la hashMap de connexions avec comme clé le nom logique du pool
Pas de formatcode |
---|
qry = new Query((Database) connexions.get("Apogee1")); |
Il suffit alors d'effectuer son ordre SQL de la façon suivante :
Pas de formatcode |
---|
try { qry = new Query((Database) connexions.get("Apogee1")); qry.setSQL("select distinct a.g_n2_cod || '|' || a.g_n3_cod \"CODE\",.... "from nw_adm_acces@NABUCOWEB a, g_nv3@NABUCOWEB n " + "where a.login = ? and n.g_n1_cod = a.g_n1_cod .... "); // on passe les paramètres à la requête qry.getStmt().setString(1, login); // on exécute l'ordre SQL qry.select(); while (qry.getRs().next()){ <traitement du resultset> } } catch (SQLException e) { LogService.log(LogService.ERROR ,<msg d'erreur>); } finally { qry.close(); } |
...