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

PL/SQL Oracle Discussion :

Package Qui fonctionnait sous Oracle 9i mais pas sur 11g


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut Package Qui fonctionnait sous Oracle 9i mais pas sur 11g
    Bonjour a tous,

    voici un Package qui fonctionnait très bien sur Oracle 9i mais qui ne l'ai plus depuis que nous avons change de version.
    Quelqu'un pourrais jeter un coup d’œil dessus et me dire ce qui ne vas pas avec ce code.
    Au début, on faisait des tests avec la version 9i avec ce code
    et tout marchait bien mais le package a été détruit. Maintenant, on a installe la nouvelle version on veut créer un nouveau package avec ce même code. Mais lorsque j'appuie sur le bouton enregistre cela m'affiche 4 erreurs:
    -
    Error(6,2): PL/SQL: Declaration ignored
    -Error(7,18): PLS-00201: identifier 'MSG4.IDX' must be declared
    -Error(13,2): PL/SQL: Declaration ignored
    -Error(15,21): PLS-00201: identifier 'MSG4.IDX' must be declared
    voici le package:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     CREATE OR REPLACE
    PACKAGE AEPACK IS
     
     TYPE cur IS REF CURSOR;
     
    FUNCTION CALCIDX1(
        startidx  IN msg4.idx%TYPE,
        maxidx    IN msg4.idx%TYPE, 
        incr      IN msg4.idx%type
     )
     RETURN msg4.idx%type;
     
     PROCEDURE AEPROC1 (
       cur_out      OUT aepack.cur, 
       startidx     IN  msg4.idx%TYPE, 
       idxincr      IN  msg4.idx%TYPE, 
       counter_name IN  msg4.source%TYPE, 
       alm_suffix   IN  msg4.source%TYPE
     );
    END AEPACK;
    Vous remerciant par avance,

    très cordialement,

    Lele79

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut Table msg4 manquante
    Bonjour,

    Il vous manque manifestement une table du nom de msg4.
    Je ne pense pas qu'il s'agisse d'une table du dictionnaire Oracle qui aurait disparu entre la version 9 et la 11.

    Si vous avez accès à votre ancienne base vous pouvez peut-être la re-créer ?
    Ce package faisait partie d'une application ?

    Pozzo

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Bonjour Pozzo, le forum,

    merci de vous préoccuper de mon problème!.

    Il vous manque manifestement une table du nom de msg4.
    La Table MSG4 est bien présenté.

    Si vous avez accès à votre ancienne base vous pouvez peut-être la re-créer ?
    Ce package faisait partie d'une application ?
    C'est justement ce que j’essaie de faire. J'ai toujours l'ancienne base, je veux juste rajouter ce package parmi les autres packages déjà existant. Tout en sachant qu'avant le changement de version cela marchait!

    Quant a votre dernière question, je suis néophyte avec Oracle et la base des données, qu'entendez vous par :"Faisait partie d'une application?"

    Cordialement,

    lele79.

  4. #4
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par lele79 Voir le message
    ...
    La Table MSG4 est bien présenté.
    ...
    Mais, en plus, l'utilisateur qui est le propriétaire du package doit avoir les droits nécessaire pour y accéder.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut profil de la table msg4
    C'est peut-être un soucis de colonnes.

    Que donne la commande desc msg4 depuis sqlplus ?

    Pozzo

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Bonjour a tous,

    Merci pour vos remarques. J'ai renseigne le nom de l'utilisateur devant le nom du package et maintenant ca marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    CREATE OR REPLACE
    PACKAGE OPS$OCSHIS.AEPACK IS
     
     TYPE cur IS REF CURSOR;
    
     FUNCTION CALCIDX1(
        startidx  IN msg4.idx%TYPE,
        maxidx    IN msg4.idx%TYPE, 
        incr      IN msg4.idx%type
     )
     RETURN msg4.idx%type;
     
     PROCEDURE AEPROC1 (
       cur_out      OUT AEPACK.cur, 
       startidx     IN  msg4.idx%TYPE, 
       idxincr      IN  msg4.idx%TYPE, 
       counter_name IN  msg4.source%TYPE, 
       alm_suffix   IN  msg4.source%TYPE
     );
     
    END AEPACK;
    merci pour votre aide.

    Cordialement,

    Lele79

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/08/2009, 15h40
  2. projet qui marche en mode "hosted" mais pas sous Tomcat
    Par sdesbure dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 02/02/2009, 23h54
  3. Fonctionne sous oracle mais pas sur mysql ?
    Par dauphin34000 dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/09/2008, 17h27
  4. Réponses: 6
    Dernier message: 30/05/2008, 17h03
  5. requette sql qui passe sous oracle 9i mais pas en 8i
    Par maxidoove dans le forum Oracle
    Réponses: 3
    Dernier message: 21/10/2005, 10h59

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