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: Malo Pichot
Subject: Re: [sdx-users] Cannotissuedata manipulation statementswith executeQuery
Date: Thu, 11 Sep 2008 17:34:47 +0200
User-agent: Thunderbird 2.0.0.16 (X11/20080707)

Merci beaucoup pour le patch ! :-)

Jos Snellings a écrit :
> 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
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> sdx-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/sdx-users

-- 
Malo




reply via email to

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