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

Oracle Discussion :

Migration 10g - Gros soucis


Sujet :

Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Migration 10g - Gros soucis
    Bonjour,
    Je me permet de solliciter votre aide pour un problème plutot curieux et TRES URGENT pour moi car je ne peux plus revenir en arrière !!!

    Voilà :
    Dans une procédure PL/SQL je faisais précédemment sur une 8.1.7 :
    select flag into v_flag from ma_table@mon_dblink;
    => Pas de problème !!!

    Après 10g, quand je cherche à compiler cette procédure, avec Pl/Sql developper, j'obtiens l'erreur suivante :
    Error: PL/SQL: ORA-00904: "FLAG" : identificateur non valide
    Il faut savoir que cette requête marche avec SQL*Plus.
    Si je la remplace par :
    execute immediate 'select flag from ma_table@mon_dblink' into v_flag;
    Cà marche aussi !!!

    Ma curiosité maladive m'oblige à comprendre pourquoi j'obtiens cette
    "Error: PL/SQL: ORA-00904" !!!

    Si quelqu'un peut m'expliquer je suis preneur. Est-ce un problème Plsql Developer ? Cette execute immediate peut-il être "plus" dangereux que le select directement ?
    Merci pour vos réponses.
    Cordialement.

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

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select flag into v_flag from ma_table@mon_dblink;
    Si ça marche sous SQL*Plus ça exclu le mot réservé (v$reserved_words), je pencherais donc sur le bug de PL/SQL dev

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Fred_D
    et pourquoi pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select flag into v_flag from ma_table@mon_dblink;
    Si ça marche sous SQL*Plus ça exclu le mot réservé (v$reserved_words), je pencherais donc sur le bug de PL/SQL dev
    C'est vraiment ma question, je ne comprend pas pourquoi cette première syntax qui marchait avant, ne marche plus maintenant !!!
    Désolé pour pour les balises CODE.

    Que penser de l'utilisation de "exceute immediate" à la place ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    le EXECUTE IMMEDIATE est inutile... donc idiot

    c'est au support PL/SQL dev que tu dois t'adresser là

  5. #5
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Tu as complètement raison.

    Par contre le "execute immediate" me permet de compiler la procédure qui contient cette requête et de pouvoir contourner le problème.
    Mais je n'aime vraiment pas faire çà.
    Pour info, le problème s'est produit avec SQL*plus, alors que j'avais lancer cette même procédure une dizaine de fois pour surveiller !!!
    A n'y rien comprendre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select un_champ into v_un_champ from ma_table -- toujours marché
    select un_champ into v_un_champ from ma_table@mon_dblink; -- aléatoire !!!
    Je pense que c'est une TAR chez Oracle que je vais déposer
    Je vous tiendrai au courant de la réponse.
    Merci

Discussions similaires

  1. [Forms 10g][combo] : soucis suite migration 9i -> 10g
    Par Emmanuel Lecoester dans le forum Outils
    Réponses: 1
    Dernier message: 24/10/2007, 15h54
  2. [Visual Studio 2003] J'ai un très gros souci !
    Par bart64 dans le forum EDI/Outils
    Réponses: 2
    Dernier message: 18/11/2005, 15h01
  3. [C#][Visual C# Express] Gros souci avec Excel
    Par poullos dans le forum EDI/Outils
    Réponses: 7
    Dernier message: 18/11/2005, 13h15
  4. [10g] Mes soucis d'installation sous XP pro
    Par Pythagore dans le forum Installation
    Réponses: 13
    Dernier message: 29/11/2004, 18h39
  5. Gros soucis avec pgaccess et postgresql
    Par Missvan dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 13/04/2004, 16h16

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