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

Informix Discussion :

Problème de requête avec select extract


Sujet :

Informix

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut Problème de requête avec select extract
    Bonjour,
    Débutant sur informix je dois tester un certain nombre de requêtes dont une contenant un select extract. Pour cela j'ai utilisé un guide IBM intitulé XMLUsersGuide.

    J'ai dans un premier temps créé ma base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE DATABASE demo_xml IN datadbs with log; 
    CREATE TABLE tab (col2 lvarchar); 
    INSERT INTO tab 
    VALUES (" <personnel> <person id="Jason.Ma"> <name> <family>Ma</family> <given>Jason</given> </name> </person> </personnel>");
    Puis j'ai exécuté cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT extract(col2, '/personnel/person[@id="Jason.Ma"]/name/given') 
    FROM tab;
    Mais j'ai une erreur:

    SQL Error (-9799): User Defined Routine (extract) VP context switch failed.
    Je ne comprends pas bien, après plusieurs passages sur des forums et autres pages sur le net je ne comprends toujours pas comment résoudre ce problème.

  2. #2
    Membre averti Avatar de blackstreet
    Inscrit en
    Avril 2004
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 304
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    comme indiqué dans ton message d'erreur, le moteur Informix ne trouve pas les virtaul process adéquat qui vont exécuter les fonctions spécifiques, ce qu'on appelle UDR ou java.

    pour cela, tu dois activer ce type de VP dans Informix en ajoutant dans ton fichier onconfig par exemple :
    VPCLASS UDR ,num=1,noage

    ou bien activer les VP java (JVP) dans ton fichier onconfig.

    VPCLASS jvp,num=1

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    merci pour ta réponse, j'ai vu qu'effectivement il s'agissait d'un problème sur les virtaul process.

    par default elle est configuré comme ceci: VPCLASS cpu,num=1,noage

    je les ai donc modifié par VPCLASS jvp,num=1 et udr,num=1,noage mais j'ai tjs la même erreur.

    Je ne comprend pas très bien cette histoire de process virtuel. Dois-t-on les configurer et ensuite les renseigner dans cette variable ?

  4. #4
    Membre averti Avatar de blackstreet
    Inscrit en
    Avril 2004
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 304
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    Il faut pas enlever le VPCLASS cpu.

    tu dois avoir les 3 (ou les 2 selon le besoin )

    VPCLASS cpu,num=1
    VPCLASS UDR,num=1
    VPCLASS jvp,num=1

    tu dois dans ce cas redémarrer ton instance pour que ça sois pris en considération.

    tu peux aussi ajouter des VP avec la commande onmode

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 105
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Après plusieurs recherche je suis tombé sur cette page: http://www.ibm.com/developerworks/da.../section8.html qui m'a permis de faire fonctionner mon extract.

    J'ai effectué la commande: onmode -p +1 idsxmlvp et là ca passe.

    Merci pour tes réponses.

  6. #6
    Membre habitué
    Homme Profil pro
    Achitecte Informix SGBD et applications - IBM Champion - Data Management - Board of Directors IIUG
    Inscrit en
    Octobre 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Achitecte Informix SGBD et applications - IBM Champion - Data Management - Board of Directors IIUG
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 105
    Points : 162
    Points
    162
    Par défaut
    Pur faire court, IBM Informix est un sgbd basé sur un vrai multithreading. Les threads gèrent une étendue très large de fonctionnalités, allant des simples requêtes SQL(pouvant être elles-mêmes multithreadées) aux fonctions de base d'adminstration de l'instance. Les threads s'exécutent dans des Virtual processors (VP), dont le nombre doit être configuré en fonction de l'architecture hard du serveur.

    Les threads principaux sont gérés par le(s) CPU VP, sans lesquels le moteur ne démarrera pas.

    Les groupes de fonctionnalités 'annexes' sont appelés des datablades, et traitent de domaines différents du SQL standard, comme le XML que tu utilises, ou d'autres comme Spatial, Text Search, MQ Series, Time Series que ton serveur a déjà pré-installé si tu as la version 11.70.

    La configuration des VP est généralement un point crucial du bon fonctionnement d'IBM Informix.

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

Discussions similaires

  1. Problème concaténation requête avec ORACLE
    Par kobe dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/08/2005, 11h57
  2. requête avec SELECT imbriqués...
    Par dj_lil dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/07/2005, 11h21
  3. Réponses: 3
    Dernier message: 11/10/2004, 17h26
  4. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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