sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sdx-users] Cannotissuedata manipulation statementswith executeQuery


From: Jos Snellings
Subject: Re: [sdx-users] Cannotissuedata manipulation statementswith executeQuery
Date: Mon, 8 Sep 2008 10:36:06 +0200

Vous avez tout à fait raison: ça me permet de facilement gérer ce petit patch,
en attendant la décision d'un upgrade.
Dans le cas où il intéresse d'autres j'ajoute le code ici.

Jos

----- Original Message ----- From: "Malo Pichot" <address@hidden>
To: <address@hidden>
Sent: Friday, September 05, 2008 1:52 PM
Subject: Re: [sdx-users] Cannotissuedata manipulation statementswith executeQuery


Bonjour,

 Une solution est de modifier uniquement la ou les classes qui vous
intéressent, voire récupérer la source de la classe AbstractJDBCDatabase
de SDX 2.3 + la source de la classe chargé du SGBD qui vous intéresse,
les compiler dans votre environnement (version de JVM) et placer les
fichiers .CLASS résultant dans $WEBAPP/WEB-INF/classes/fr/gouv/...

Ca vous parle ? C'est la manière "propre" de surcharger des classes Java
dans Cocoon. Au redémarrage du serveur, ces classes seront prises en
compte, surchargeant celles que la JVM pourraient trouver dans
$WEBAPP/WEB-INF/lib.

A bientôt,

Malo

Jos Snellings a écrit :
Bonjour,

Je viens de regarder le code de la version 2.2.1, qui est en production
chez nous.
Brève description:
- pour libérer l'application de l'usage de HSQL, je fais le nécessaire
(adaptation de application.xconf entre autres)
Ca a l'air de marcher, néanmoins:
- à la mise à jour d'un document / ajout d'un nouveau document, le
logiciel lève un exception, dont le stack trace:
     java.sql.SQLException: Can not issue data manipulation statements
with executeQuery().

       at
fr.gouv.culture.sdx.utils.database.AbstractJDBCDatabase.delete(AbstractJDBCDatabase.java:254)

       at
fr.gouv.culture.sdx.documentbase.AbstractDocumentBase.deletePhysicalDocument(AbstractDocumentBase.java:535)

       at
fr.gouv.culture.sdx.documentbase.SDXDocumentBase.delete(SDXDocumentBase.java:506)


Et effectivement, dans la source, je retrouve:
               try {
                   ps = conn.prepareStatement(queryString);
                   ps.setString(COLUMN_PARAM_INDEX_FIELD_ID, entityId);
endoit signalé =>                    ps.executeQuery();
                   deleteEntityFromCache(entityId);
               } catch (SQLException e) {

Donc, que faire? Je constate que AbstractJDBCDatabase a été reécrit dans
les versions ultérieures.
Upgrade vers sdx 2.3 (avec tous les risques, car, je n'ai pas les
budgets pour effectuer l'upgrade)
ou supporter des corruptions?

Jos


----- Original Message ----- From: "Jos Snellings"
<address@hidden>
To: <address@hidden>
Sent: Wednesday, August 13, 2008 10:11 AM
Subject: Re: [sdx-users] Cannotissuedata manipulation statementswith
executeQuery


Voici la version:
SDX - version:2.2.1, build:2004111001.

Donc, excusez-moi, ce n'était pas exactement version 2.2.1.

Jos

----- Original Message ----- From: "Malo Pichot" <address@hidden>
To: <address@hidden>
Sent: Wednesday, August 13, 2008 9:53 AM
Subject: Re: [sdx-users] Cannot issuedata manipulation statementswith
executeQuery


OK. Mon message est parti trop vite :o)

Je voulais ajouter que la méthode impliquée ne fait pas de update,
insert ou delete ; elle construit seulement un requête SQL et termine
sur un execute().

Malo Pichot a écrit :
Bonjour,

  Je suis ennuyé : je viens de regarder le code de la 2.2 sur la
classe impliquée dans la StackTrace et la ligne 517 pointe sur du vide
:-(

fr.gouv.culture.sdx.utils.database.AbstractJDBCDatabase.search(AbstractJDBCDatabase.java:517)


Jos Snellings a écrit :
Bonjour,

C'est bien la version sdx 2.2 que j'utilise.
Il est quand-même bizarre que sdx utiliserait des
update,insert,delete lors d'un appel de
UserDatabase.getMembers() ...
Je dispose bien d'un exemple d'installation où ce problème ne se
manifeste pas, donc
il faut que je creuse le pb. Probablement de ma faute.
Néanmoins, si quelque chose d'intéressant se manifeste je le communique.

Merci,
Jos

----- Original Message ----- From: "Malo Pichot" <address@hidden>
To: <address@hidden>
Sent: Tuesday, August 12, 2008 10:24 AM
Subject: Re: [sdx-users] Cannot issue data manipulation
statementswith executeQuery


Bonjour,

  Quelle version de SDX utilisez-vous ? Je viens de tester avec un
Mysql 5.0 : la syntaxe fonctionne parfaitement. Je pense plutôt du côté
des données elle-même. Il faudrait donc regarder dans la base SQL et
voir ce qu'elle contient.

Jos Snellings a écrit :
Bonjour,

Voilà un type d'erreur que je n'avais pas attendu:

ERROR   (2008-08-09) 08:18.32:380   [sdx.framework.inventaris]
(/sdx/inventaris/beheer/accounts.xsp) TP-Processor3/SDXException:
There was a problem searching the database with the id,
"sdxuserdatabase".
java.sql.SQLException: Can not issue data manipulation statements
with executeQuery().
        at
fr.gouv.culture.sdx.exception.SDXException.log(SDXException.java:115)
        at
fr.gouv.culture.sdx.exception.SDXException.<init>(SDXException.java:103)

        at
fr.gouv.culture.sdx.utils.database.AbstractJDBCDatabase.search(AbstractJDBCDatabase.java:517)

        at
fr.gouv.culture.sdx.user.UserDatabase.getMembers(UserDatabase.java:216)
        at
fr.gouv.culture.sdx.application.Application.getMembers(Application.java:1295)

        at
org.apache.cocoon.www.inventaris.beheer.accounts_xsp.generate(/usr/local/jakarta-tomcat-5.5.7/work/Catalina/localhost/sdx/cocoon-files/org/apache/cocoon/www/inventaris/beheer/accounts_xsp.java:1699)



Quelque part il y a un syntaxe qui ne passe pas.
J'utilise mysql 5. Ce ne devrait pas être un problème, oui?
voilà ce que dit 'mysql --version':

Ver 14.12 Distrib 5.0.51, for sun-solaris2.8

A bientôt,
Jos


_______________________________________________
sdx-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/sdx-users

Attachment: AbstractJDBCDatabase.java
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]