Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Outils > XMLRAD
XMLRAD Environnement de développement Web XML/XSL. Avant de poster -> F.A.Q XMLRAD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/05/2007, 11h40   #1
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 75
Points : 29
Points : 29
Par défaut Query + Générateur d'ID

Bonjour,

J'ai une Query "maQuery" que je lance depuis du code Java dans un Before XMLGram. Dans cette query il y a un champ qui devrait être unique. Je sais qu'XMLRAD propose des générateurs d'IDs, mais est-il possible de faire fonctionner ça depuis Java.

Dans le schéma classique, on met dans le XMLGRAM le générateur d'identifiant, et à la suite la requête qui récupère l'id généré.
Mais à partir du code, est-il possible de le faire? Par exemple en lançant le générateur, et tout de suite après la Query? Mais comment lancer le générateur?

Cordialement,

Nicolas M.
ArseNic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 11h48   #2
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 75
Points : 29
Points : 29


Avec ça : xmlcGenerator.getNewId(generatorName) ça devrait marcher, non?

Je vais tester, et je vous tiens au courant

PS : Si je suis sur la mauvaise voie, n'hésitez pas à me le signaler
ArseNic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 12h22   #3
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 75
Points : 29
Points : 29
J'ai un générateur "GENERAL" qui fonctionne très bien quand on l'appelle dans un XMLGram. Pourtant quand je l'appelle depuis Java je récupère l'erreur suivante :

xmlcGenerator.getNewId("GENERAL")

java.lang.UnsatisfiedLinkError: getNewId
at xmlclx.XMLCGenerator.getNewId(Native Method)


Une idée de la source de cette erreur?
ArseNic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 14h20   #4
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 75
Points : 29
Points : 29
Après enquête, ce type d'erreur semblerait se produire lorsqu'il y a un problème de communication avec la dll. Y a t-il un problème identifié avec cette méthode getNewId()?

Bon sinon en testant avec incValue() j'arrive au résultat voulu, donc ce n'est pas bien grave
ArseNic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 15h38   #5
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
oui il y a un problème de casse dans la DLL c'est déclaré getNewID et dans la classe Java c'est getNewId.

il faudrait modifier la classe Java et refaire le package xmlclx.jar
__________________
RDM
Tout Est Relatif
Rubrique XMLRAD: http://xmlrad.developpez.com
FAQ XMLRAD: http://xmlrad.developpez.com/faq/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 15h44   #6
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 75
Points : 29
Points : 29
D'accord! Merci pour la réponse, c'est toujours bon à savoir.
ArseNic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2007, 17h43   #7
Membre éprouvé
 
Inscription : mars 2002
Messages : 516
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 516
Points : 483
Points : 483
Envoyer un message via MSN à Sylvain James
Citation:
Envoyé par ArseNic
Mais à partir du code, est-il possible de le faire? Par exemple en lançant le générateur, et tout de suite après la Query? Mais comment lancer le générateur?
Malgré tout il est préférable de laisser faire un générateur qui va injecter l'ID dans le Context.
Si tu as besoin d'utiliser dans ton code Java l'ID qui vient d'être généré, il suffit de le récupérer dans le Context :
String Value = context.getValue("ID_TOTO");

Sylvain
__________________
.NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

Mon Blog : http://blog.developpez.com/index.php?blog=89
Mes Articles : http://sjames.developpez.com/
Rubrique XMLRAD: http://xmlrad.developpez.com
Sylvain James est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 09h03   #8
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 75
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 75
Points : 29
Points : 29
Citation:
Envoyé par Sylvain James
Malgré tout il est préférable de laisser faire un générateur qui va injecter l'ID dans le Context.
Si tu as besoin d'utiliser dans ton code Java l'ID qui vient d'être généré, il suffit de le récupérer dans le Context :
String Value = context.getValue("ID_TOTO");

Sylvain
En effet, je pensais faire comme ça au départ, mais j'ai besoin d'insérer des données dans la BDD avant le XMLGram. Or, si je mets mon instruction de générateur dans le XMLGram, je ne pourrais pas y accéder (ou alors en mettant le générateur dans le service juste avant, peut être).

De plus le traitement est particulier, car je fais plusieurs insertions à la suite (un nombre variable, selon ce que j'ai dans le context), c'est pourquoi je fais cela depuis le code Java.
ArseNic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 09h35   #9
RDM
Membre Expert
 
Inscription : mars 2002
Messages : 1 426
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 1 426
Points : 1 546
Points : 1 546
Envoyer un message via ICQ à RDM
mouais comme Sylvain j'aurais tendance a utiliser un peu plus le XMLGram quand même.
a partir de XMLRAD 2006 tu as les rules/Expressions (notamment Skip) dans les instructions qui te permettent d'éviter du code en déclarant toutes tes instructions.
tu déclares ensuite un rule Skip (bouton de droite sur l'instruction/Rules) pour chaque instruction qui est conditionné pour ne pas l'executer suivant une expression du genre tu as des infos dans l'appendix 13
http://xmlrad.com/DelosBin/Delos.dll...B_ID=101001015

la grammaire des Rules/Expressions:
http://xmlrad.com/DelosBin/Delos.dll...15#Expressions
__________________
RDM
Tout Est Relatif
Rubrique XMLRAD: http://xmlrad.developpez.com
FAQ XMLRAD: http://xmlrad.developpez.com/faq/
RDM est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h43.


 
 
 
 
Partenaires

Hébergement Web