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

Forms Oracle Discussion :

FRM_40505 unable to perform query


Sujet :

Forms Oracle

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut FRM_40505 unable to perform query
    J'ai une erreur sur le Query F8.
    "unable to perform query FRM-40505".
    Sur le trigger POST-QUERY j'appele une fonction qui fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CURSOR curseurToto IS
    SELECT toto FROM table
    WHERE table.idToto:=:BLOK.item_id_toto; -- item_id_toto est un item basé non visible
    REC_CUR_TOTO curseurTOTO;
    OPEN curseurTOTO;
      FETCH  curseurTOTO INTO REC_CUR_TOTO;
      :BLOK.item_nom_toto:=REC_CUR_TOTO.toto;-- item_nb_toto non basé et visible
      CLOSE curseurTOTO;
    Merci.

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    et pourquoi pas simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT toto 
    INTO :BLOCK.item_nb_toto
    FROM TABLE
    WHERE TABLE.toto:=:BLOCK.item_toto;

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Merci pour ta reponse.
    Mais en faite je reprends un projet.il faut garder la norme de developpement.
    Tout les blocs doivent utiliser un curseur.
    l'item à visualiser est une table qui affiche tout les enregistrements de la colonne.
    J'essaye donc de comprendre la philosophie du projet.
    En fait on fait un bloc composé d'un item non basé correspondant à l'item à visualiser (table) et un item basé (id de la table) non visible.
    Et les 2 items sont liés grace au curseur.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Sinon j'ai essayé ta methode pour voir si elle remplissait toute la table
    mais j'ai une erreur de compilation au niveau du WHERE
    je pense que c'est c'est le :=:BLOK mais je n'arrive pas à la corriger.
    Au cas ou tu ne l'aurais pas remarquer je debute dans FORMS.

  5. #5
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    WHERE TABLE.idToto:=:BL
    déjà, il n'y a pas besoin de := dans une clause SQL (:= est un signe d'affectation en PL/SQL)
    Afin d'éviter de passer trop de temp en debug du code, vous devriez d'abord "jouer" votre ordre Select sous Sql*Plus, Sql Developer ou Toad pour vérifier qu'il est conforme.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    oui ok.
    Mais je ne vois pas comment faire mon ordre select dans TOAD.
    je sais qu'il ya des données dans ma table (il ya juste une ligne :
    id=1.
    nomtoto='10')
    et puis je ne vois pas quoi remplacer par exemple un :BLOK.item.
    Peut-etre pourriez vous m'aiguiller?

  7. #7
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    il suffit de mettre des valeurs en dur le but étant de tester la syntaxe et non le résultat

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    MA syntaxe avec le curseur est bonne

  9. #9
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Alors c'est ce que vous copiez ici qui ne reflête pas la réalité parce que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ...
    WHERE  xx := ss
    ne passera jamais nulle part.

  10. #10
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par decksroy Voir le message
    MA syntaxe avec le curseur est bonne
    non

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Voici la deuxieme solution compilé avec succés sans les curseurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT COD 
    	INTO :BLOK.ITM_COD (itm_code est basé)
    	FROM table
    	WHERE table.ID_ITEM=:BLOK.ID_ITEM;
    mais j'ai toujours dans le query la meme erreur.
    De plus comme le champ cod est une table, je pense qu'il faut utiliser les curseurs pour remonter tout les resultats.
    c'est bien le post_query qui est appelé lors du F8?

  12. #12
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    utilise le curseur si tu veux mais corrige l'erreur de syntaxe au moins

    en POST-QUERY les champs sont déjà renseignés ?

  13. #13
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par decksroy Voir le message
    De plus comme le champ cod est une table, je pense qu'il faut utiliser les curseurs pour remonter tout les resultats.
    quand c'est une table faut surtout traiter les données lignes à ligne... je crains que tu ne puisses pas donner un ITEM multi-ligne comme ça dans la requête. Mais forms c'est un peu loin pour moi

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    En faite je pense que le probleme ne vient pas de cette fonction car j'ai l'erreur
    FRM-40505 avant l'appel du POST-QUERY (j'ai mis un point d'arret dans le trigger
    et l'erreur est survenue avant).De plus il sort l'erreur mais ne s'arrete pas dans le trigger.Es ce normal, ne doit-il pas appeler le post-query apres l'erreur?

  15. #15
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    bah non, s'il y a une erreur Forms sort du process d'exécution de la query.

  16. #16
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Que se pass t-il si vous désactivez le POST-QUERY (en le renommant POST_QUERY) par exemple ?

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Que se pass t-il si vous désactivez le POST-QUERY (en le renommant POST_QUERY) par exemple ?
    c'est toujours pareil !

  18. #18
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Ok, ça n'a donc rien à voir avec ce trigger. Il s'agit peut-etre d'une correspondance ITEM <-> colonne de table qui ne peut être faite.
    Vérifiez, par exemple, que vous n'avez pas un item non basé dont la propriété nom de colonne contiendrait quelque chose.

  19. #19
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Je vous conseille :
    1. d'afficher l'erreur en faisant un display_error;
    2. d'exécuter la dernière requête (:system.last_query) sous SQL*Plus

    Vous devriez mieux comprendre d'où vient le problème.

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Vérifiez, par exemple, que vous n'avez pas un item non basé dont la propriété nom de colonne contiendrait quelque chose.
    j'ai un item non basés mais il n'ya rien dans le column name.

    d'afficher l'erreur en faisant un display_error;
    je vais essayer de voir comment je peux faire ça
    d'exécuter la dernière requête (:system.last_query) sous SQL*Plus
    quelle dernier requete ? je ne comprends pas bien comment faire.
    je vais me renseigner.
    Merci pour toutes vos reponses, c'est encourageant surtout que je n'arrive pas à m'en dépétrer.ça doit etre devant mes yeux mais je ne vois rien.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Unable to save MySQL query result
    Par JCD21 dans le forum Langage
    Réponses: 1
    Dernier message: 14/02/2011, 13h31
  2. unable to execute query
    Par lossy dans le forum Débuter
    Réponses: 2
    Dernier message: 26/11/2010, 12h46
  3. performance Query Analyzer (2000)
    Par maxtin dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/11/2008, 13h55
  4. [1.x] Unable to parse query string
    Par JoceC dans le forum Symfony
    Réponses: 2
    Dernier message: 30/06/2008, 12h08
  5. [performance] Query très lent
    Par eponette dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/03/2006, 10h57

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