IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XMLRAD Discussion :

Query + Générateur d'ID


Sujet :

XMLRAD

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 75
    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.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 75
    Par défaut


    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

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 75
    Par défaut
    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?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 75
    Par défaut
    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

  5. #5
    RDM
    RDM est déconnecté
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Par défaut
    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

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 75
    Par défaut
    D'accord! Merci pour la réponse, c'est toujours bon à savoir.

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Par défaut
    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

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 75
    Par défaut
    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.

  9. #9
    RDM
    RDM est déconnecté
    Membre Expert

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Générateur de doc
    Par chman dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 09/09/2003, 20h37
  2. Query Begin et Commit son sur un bateau....
    Par faoz75 dans le forum Requêtes
    Réponses: 5
    Dernier message: 15/08/2003, 11h48
  3. Je ne retrouve pas ma SP dans Query analyser
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/07/2003, 12h43
  4. Query data set
    Par Sandra dans le forum JBuilder
    Réponses: 3
    Dernier message: 20/01/2003, 10h08
  5. [XMLRAD] Décoder Request.Query
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 8
    Dernier message: 10/01/2003, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo