Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Futur Membre du Club
    Inscrit en
    mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 98
    Points : 18
    Points
    18

    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 :
    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 :
    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 confirmé Avatar de blackstreet
    Inscrit en
    avril 2004
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 303
    Points : 281
    Points
    281

    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
    Futur Membre du Club
    Inscrit en
    mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 98
    Points : 18
    Points
    18

    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 confirmé Avatar de blackstreet
    Inscrit en
    avril 2004
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : avril 2004
    Messages : 303
    Points : 281
    Points
    281

    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
    Futur Membre du Club
    Inscrit en
    mai 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 98
    Points : 18
    Points
    18

    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 Eric Vercelletto
    Achitecte Informix SGBD et applications - IBM Champion - Data Management - Board of Directors IIUG
    Inscrit en
    octobre 2010
    Messages
    101
    Détails du profil
    Informations personnelles :
    Nom : Homme Eric Vercelletto
    Âge : 54
    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 : 101
    Points : 142
    Points
    142

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •