Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Java > Développement Web en Java > Tomcat

Réponse
 
Outils de la discussion
Vieux 21/07/2008, 18h59   #1 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2008
Messages: 21
Par défaut problème de connexion entre Tomcat 4.1 et Oracle 9i

Bonjour,

j'ai un petit souci que je n'arrive pas à résoudre. En effet, je dois réaliser un travail de reporting pour une entreprise avec une architecture à 3 niveaux :
client, serveur d application et serveur de base de données.
Mon problème se situe au niveau du serveur d'application TOMCAT car je n'arrive pas à effectuer de liaison avec la base de données Oracle. Je suis tout d'abord passé par le service d'administration de TOMCAT puis restant bredouille je me suis aventuré dans la configuration du fichier serveur.xml dans le dossier conf mais je reste encore et toujours sans résultat.
Quelqu'un pourrait-il m'aider s'il vous plait ?
Merci d'avance
bryce333 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 10h49   #2 (permalink)
Nouveau membre du Club
 
Date d'inscription: septembre 2006
Messages: 63
Par défaut

Le mieux est d'installer le module d'administration de tomcat, qui va te permettre de créer ce qu'on appelle un "datasource", qui représente un raccourci vers ta base de données.
Ensuite depuis une servlet, tu pourras récupérer ce datasource, et en obtenir une connexion à travers laquelle tu pourras exécuter des requetes SQL.

edit: dejà, petit préalable: es-tu sur que ta connexion soit accessible depuis le poste où est installé tomcat?
Jidefix est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 11h02   #3 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2008
Messages: 21
Par défaut

oui j'en suis sur mais par contre en ce qui concerne le module d'administration je n'en ai pas eu besoin. J'ai réussi à accéder à l'administration de TOMCAT sans le télécharger. Mais si tu veux bien continuer ça m'intéresse car j'ai aussi un problème avec un datasource dans mon servlet java sur éclipse donc d'après ce que tu m'as dit il me faut un datasource pour communiquer avec ma base et non juste configurer le fichier serveur.xml.
Mais comment concevoir ce datasource s'il te plait ?
Merci pour ton aide elle m'est très précieuse.
bryce333 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 11h36   #4 (permalink)
Nouveau membre du Club
 
Date d'inscription: septembre 2006
Messages: 63
Par défaut

As-tu suivi ce tutorial:
datasource how-to

Il t'indique comment ajouter un datasource à ton serveur. Il faut également rajouter les drivers JDBC qui vont permettre à tomcat de gérer les connexions à cette base (pour Oracle, tu dois rechercher un fichier du type ojdbc14.jar et le placer dans le dossier common/lib)

Ensuite pour l'appeller depuis ta servlet, tu le recherche comme ça depuis ta servlet:

Code :
 
Context ctx;
ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/nomDeTaBase");
Connexion conn = ds.getConnection();
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rst = stmt.executeQuery(ta requete);
 
Jidefix est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 12h10   #5 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2008
Messages: 21
Par défaut

Si j'ai bien compris, il faut donc que je modifie les fichiers de configuration serveur et web.xml. Pour les drivers, je les ai depuis le début donc c'est bon.
Petite question bête : je mets quoi à la place de "ta requête" ? c'est le genre : "select * from dual" pour tester la base ?
bryce333 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 12h34   #6 (permalink)
Nouveau membre du Club
 
Date d'inscription: septembre 2006
Messages: 63
Par défaut

Personnellement je n'ai jamais eu beaucoup de succès en mettant mon datasource dans le serveur.xml, j'ai toujours fini par le rajouter dans un ficheir à part (nom_de_ta_servlet.xml) que tu place dans un des sous-dossiers du dosier conf.
Le truc c'est que je n'ai jamais bossé sous tomcat 4 donc je ne peux pas te dire exactement comment j'ai fait (je sais que l'arborescence des dossiers a changé).

Concernant la requete, tu as deux méthodes importantes sur l'objet stmt:
Code :
 ResultSet executeQuery(Sting param)
où param est une string du type "SELECT * FROM dual" (après il peut s'agir de n'importe quelle requete SQL de type "SELECT). Elle retourne un objet de la classe ResultSet, te permettant de lire le retour de ta requete SELECT.

et
Code :
int executeUpdate(Sting param)
où param est une requete de modification (c'est à dire toutes les requetes de type INSERT, UPDATE, DELETE, etc.).
Elle te retourne le nombre de champs qui ont été crées/mis à jour/supprimés.
Jidefix est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 13h01   #7 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2008
Messages: 21
Par défaut

D'accord je vais essayer de faire tout ce que tu m'as dit et je te tiens au jus.
Merci bien
bryce333 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 13h23   #8 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2008
Messages: 21
Par défaut

J'ai fait toutes les manip une à une et maintenant comment je sais si ca marche ou pas ? comment je vois si TOMCAT communique avec Oracle ?
bryce333 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 14h42   #9 (permalink)
Membre Confirmé
 
Avatar de wace
 
Date d'inscription: septembre 2003
Localisation: NullPointerException
Messages: 227
Par défaut

Citation:
Envoyé par bryce333 Voir le message
J'ai fait toutes les manip une à une et maintenant comment je sais si ca marche ou pas ? comment je vois si TOMCAT communique avec Oracle ?
Tu peux te faire par exemple une servlet de test qui execute une requete SQL dans ta base comme l'explique Jidefix dans sa reponse

Si le ResultSet est non null apres l'execution de la requete c'est que la connection a ta base est bonne, sinon ben faut chercher pourquoi ca fonctionne pas
__________________
Les hommes naissent et demeurent libres et égaux en droits; les distinctions sociales ne peuvent être fondées que sur l'utilité commune
[article 1er Declaration Universelle des Droits de l'Homme]
www.baseball-grizzlys.com

wace est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 14h52   #10 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2008
Messages: 21
Par défaut

La servlet est prête mais je suis en train de galérer pour transformer mon projet en WAR avec Eclipse car je n'ai pas cette option. Il faut que je trouve un moyen si tu as des pistes je suis tout ouï.
bryce333 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 15h10   #11 (permalink)
Membre Confirmé
 
Avatar de wace
 
Date d'inscription: septembre 2003
Localisation: NullPointerException
Messages: 227
Par défaut

Pas besoin de war pour Tomcat

Tu prends toutes tes classes et tu les colles dans WEB-INF/classes,
Tu prends tous tes .jar et tu les colles dans WEB-INF/lib

Tu redemarres ton Tomcat et tu croises les doigts
__________________
Les hommes naissent et demeurent libres et égaux en droits; les distinctions sociales ne peuvent être fondées que sur l'utilité commune
[article 1er Declaration Universelle des Droits de l'Homme]
www.baseball-grizzlys.com

wace est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 15h13   #12 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2008
Messages: 21
Par défaut

Lol je croise les doigts ? C'est à dire ? Ca risque de ne pas marcher ou quoi ?
bryce333 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/07/2008, 15h15   #13 (permalink)
Membre Confirmé
 
Avatar de wace
 
Date d'inscription: septembre 2003
Localisation: NullPointerException
Messages: 227
Par défaut

Citation:
Envoyé par bryce333 Voir le message
Lol je croise les doigts ? C'est à dire ? Ca risque de ne pas marcher ou quoi ?
Ca dépends si t'as le fluide ou pas ? et si le Sacro saint Dieu du déploiement d'application est avec toi ou pas !!

Mais si ca compile dans eclipse, je pense que ca devrait fonctionner, enfin la partie Servlet, apres pour l'acces a la base c'est autre chose ca mais on verra en temps voulu
__________________
Les hommes naissent et demeurent libres et égaux en droits; les distinctions sociales ne peuvent être fondées que sur l'utilité commune
[article 1er Declaration Universelle des Droits de l'Homme]
www.baseball-grizzlys.com

wace est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Java > Développement Web en Java > Tomcat

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide