Pb connexion base mysql pour initialiser

cs_Kanaille Messages postés 10 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 2 juin 2004 - 2 juin 2004 à 10:22
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 - 3 juin 2004 à 09:39
Bonjour à tous,

J'ai un souci de connexion à la base mysql pour mettre à jour les différents champs d'une table.
Ce souci est dû au fait que je passe par des webservices (axis). Lorsque je fais appel aux mêmes méthodes sans passer par les webservices, cad avec les pages jsp et servlets, tout fonctionne correctement...
Et vu que les webservices sont sans etats, qu'ils ne gèrent pas les sessions, je me connecte et me déconnecte à chaque fois que je fais appel à une méthode du webservice.
J'utilise comme logiciel Tomcat, Axis, Mysql, et QuickRules (moteur de règles).
Si vous pouvez m'aider ca serait cool...

?-)

7 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
2 juin 2004 à 11:40
Salut,

c'est quoi le problème exactement : la connexion ne se fait pas , ... ? erreurs ... ?
0
cs_Kanaille Messages postés 10 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 2 juin 2004
2 juin 2004 à 12:03
En fait, qd je clique sur un quartier pour me déplacer, je fais appel à une méthode 'se_deplacer' du webservice. Mais qd je fais cette manip et bah j'arrive à lancer la méthode du webservice, elle démarre la connexion au moteur de règles mais toute suite après tomcat me lance une erreur d'impossibilité de connexion à la base pour initialiser, que voici :

resultat org.apache.axis.client.Call@152bdc7
Deplacement du joueur au quartier 3
QuickRules (2.6SP2, BuildNo:200312181930) Starting Rule Engine Administration Server on localhost at port 8765..
QuickRules (2.6SP2, BuildNo:200312181930):DEBUG: Rete Network created for ruleset regles with RootNode=1 KindNodes=4 AlphaNodes=21 JoinNodes=12 TerminalNodes=15 MutexNodes=0 Total Nodes=53 Total Links=119
impossible de se connecter Ó la base pour initialiser
java.sql.SQLException: General error, message from server: "Cannot add or update a child row: a foreign key constraint fails" Exception in firing rule dep gratuit
java.sql.SQLException: General error, message from server: "Cannot add or update a child row: a foreign key constraint fails"
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1905)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1109)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1203)
at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1164)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2087)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2037)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1252)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1198)
at jeu.Personnage.se_deplacer(Personnage.java:305)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39).....
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
2 juin 2004 à 13:56
T'essaie de faire une modification sans respecter une contrainte.
Vérifie la requête et assure toi que la contrainte est respectée.
0
cs_Kanaille Messages postés 10 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 2 juin 2004
2 juin 2004 à 16:47
C'est bizarre puisque cette requete fonctionne correctement lorsque je passe par des jsp, sans passer par les webservices.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
2 juin 2004 à 16:52
Ah !!
t'es sûr de passer les mêmes valeurs à ta requête ? Je vois pas pourquoi le fait de passer par des webservices ferait planter ton prog. Assure toi que le contexte est le même (même valeur pour les variables ...) que tu sois avec des JSP ou des webservices.
Désolé de pas t'aider plus mais là je vois pas.
0
cs_Kanaille Messages postés 10 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 2 juin 2004
2 juin 2004 à 21:01
Je crois savoir d'où ca vient, en fait lorsque j'utilise la méthode se_déplacer du webservice, elle fait appel à une autre méthode update_joueur() qui met à jour les champs concernant le joueur. Or les webservices sont ne gèrent pas les sessions et vu que la requete de mise à jour a besoin du pseudo du joueur pour le faire, je ne sais pas comment faire pour récupérer le pseudo du joueur (le pseudo du joueur est récupéré lors de la connexion au jeu mais après pour le récupérer pour la mise à jour, alors là je suis perdu...). Voici mon code pour la mise à jour, peut etre que tu pourras m'aider :
public void update_joueur()throws SQLException{

try {
Statement updt = ConnectDB.Connexion.createStatement();
updt.executeUpdate("UPDATE joueur SET argent ='"+ argent +"', nb_deplacement='"+ nb_deplacement +"', quartier_courant='"+ id_quartier_courant +"' WHERE pseudo='" + pseudo + "'" );

}catch (SQLException e) {
System.out.println( "impossible de se connecter à la base pour initialiser");
System.out.println(e);
throw e;
}
}
0
kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
3 juin 2004 à 09:39
vu qu'il n'y a pas de session, il faut que le pseudo du joueur soit passé à chaque fois.
Il faut que tu rajoutes un paramètres à tes webservices pour prendre en compte le pseudo.
0
Rejoignez-nous