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

SQL Oracle Discussion :

Procédure via DBLINK


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 128
    Points : 67
    Points
    67
    Par défaut Procédure via DBLINK
    Bonjour,
    je rencontre un problème lors de l'accès à une procedure (dans un package) vie DBLINK

    ORA-06550: line 1, column 7: PLS-00201: identifier 'NEO_UTI.MODIF_NUTI@LI_ESNC2' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored
    j'ai testé mon DBLINK avec un
    select sysdate from dual@LI_ESNC2
    ça marche.

    J'ai aussi verifié les droits, mon package est bien "grant" en "execute" sur l'utilisateur déclarer dans le DBLINK.

    Je ne sais plus trop part où creuser, des suggestions ?

  2. #2
    Membre éclairé Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Points : 773
    Points
    773
    Par défaut
    Tu peux poster versions OS & produits + le code PL/SQL qui pose problème s.v.p ?
    Philippe CEROU,

    Architecte Systèmes & Bases de données.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 128
    Points : 67
    Points
    67
    Par défaut
    je tourne sur une 9i, je crois que la base est sur un serveur linux mais je ne sais pas quel distribution.

    Le code qui pose problème c'est l'appel de ma procedure que j'ai posté plus haut.

  4. #4
    Membre éclairé Avatar de philcero
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Septembre 2007
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 528
    Points : 773
    Points
    773
    Par défaut
    Je dois être aveugle, je ne voie aucun corps de procédure dans tes posts...
    Philippe CEROU,

    Architecte Systèmes & Bases de données.

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 128
    Points : 67
    Points
    67
    Par défaut
    En premier lieu, merci de t'interresser à mon problème.

    l'erreur n'est pas dans mon script mais dans l'appel de celui ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ORA-06550: line 1, column 7: PLS-00201: identifier 'NEO_UTI.MODIF_NUTI@LI_ESNC2' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored
    si tu tiens à voir le script, le voici :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    PROCEDURE MODIF_NUTI(sClie IN VARCHAR2, sCoda IN VARCHAR2, sNom IN VARCHAR2, sMail IN VARCHAR2, sEtat IN VARCHAR2, iUtilId IN NUMBER,
    		  sSoci IN VARCHAR2, sSiret IN VARCHAR2, sAdre IN VARCHAR2, sCp IN VARCHAR2, sVille IN VARCHAR2, STEL IN VARCHAR2, sFax IN VARCHAR2, sPromo IN VARCHAR2,
    		  sMode IN VARCHAR2, sMrej IN VARCHAR2, sCrej IN VARCHAR2, sPrea IN VARCHAR2, sTarif IN VARCHAR2, sCodaCA IN VARCHAR2)
    IS
      CURSOR cBCLI (sClie VARCHAR2, sCoda VARCHAR2) IS
         SELECT BCLI_MCTY_CODE, BCLI_MCAC_CODE, BCLI_MCMA_CODE, BCLI_MCTA_CODE, BCLI_VRP
    	 FROM BCLI
    	 WHERE BCLI_CLIENT_ENS=sClie;-- AND BCLI_ESCO_CODE=sCoda;
     
      sSoon VARCHAR2(9);
      cur NUMBER;
      sMcty VARCHAR2(1);
      sMcac VARCHAR2(2);
      sMcma VARCHAR2(2);
      sMcta VARCHAR2(1);
      sVrp VARCHAR2(6);
     
    BEGIN
     
      	BEGIN
           sSoon := 'SoonSE';
     
    	   FOR cur IN cBCLI(sClie, sCoda) LOOP
    	      sMcty := cur.BCLI_MCTY_CODE;
    		  sMcac := cur.BCLI_MCAC_CODE;
    		  sMcma := cur.BCLI_MCMA_CODE;
    		  sMcta := cur.BCLI_MCTA_CODE;
    		  sVrp := cur.BCLI_VRP;
    		  EXIT;
    	   END LOOP;
     
    	   INSERT INTO NUTI
    	   (NUTI_CLIE, NUTI_CODA, NUTI_NOM, NUTI_PWD, NUTI_SOON, NUTI_MAIL, NUTI_SOCI, NUTI_ADRE, NUTI_CP, NUTI_VILLE,
    	   NUTI_SIRET, NUTI_PROMO, NUTI_TEL, NUTI_FAX, NUTI_DTINS, NUTI_ETAT, NUTI_UTIL_ID, NUTI_DTMDF,
    	   NUTI_MCTY_CODE, NUTI_MCAC_CODE, NUTI_MCMA_CODE, NUTI_MCTA_CODE, NUTI_VRP, NUTI_PREA, NUTI_UTIP_PRIX, NUTI_CODA_CA)
      	   VALUES(sClie, sCoda, sNom, RET_PWD(sNom), sSoon, sMail, sSoci, sAdre, sCp, sVille,
    	   sSiret, sPromo, STEL, sFax, SYSDATE, sEtat, iUtilId, SYSDATE,
    	   sMcty, sMcac, sMcma, sMcta, sVrp, sPrea, sTarif, sCodaCA);
    	   COMMIT;
    	   IF (sEtat = 'C') THEN
    	   	  SEND_MAIL(sClie, sCoda, sNom, sMail, sMode);
    	   END IF;
     
    	   -- Mail rejets
    	   IF (sEtat = 'R') THEN
    	   	  SEND_MAIL_REJET(sClie, sCoda, sNom, sMail);
    	   END IF;
      EXCEPTION WHEN OTHERS THEN
      	   UPDATE NUTI
    	   SET NUTI_MAIL=sMail, NUTI_SOCI=sSoci, NUTI_ADRE=sAdre, NUTI_CP=sCp, NUTI_VILLE=sVille, NUTI_SIRET=sSiret, NUTI_PROMO=sPromo, NUTI_TEL=STEL,
    	   NUTI_FAX=sFax, NUTI_ETAT=sEtat, NUTI_UTIL_ID=iUtilId, NUTI_DTMDF=SYSDATE,
    	   NUTI_MCTY_CODE=sMcty, NUTI_MCAC_CODE=sMcac, NUTI_MCMA_CODE=sMcma, NUTI_MCTA_CODE=sMcta, NUTI_VRP=sVrp,
    	   NUTI_MREJ = sMrej, NUTI_CREJ = sCrej, NUTI_PREA = sPrea, NUTI_UTIP_PRIX = sTarif, NUTI_CODA_CA = sCodaCA
    	   WHERE NUTI_CLIE = sClie AND NUTI_CODA = sCoda AND NUTI_NOM = sNom;
    	   COMMIT;
    	   IF (sEtat = 'C' AND sMode != 'C') THEN  -- Accepte demande ou rejet
    	   	  SEND_MAIL(sClie, sCoda, sNom, sMail, sMode);
    	   END IF;
     
    	   -- Mail rejets
    	   IF (sEtat = 'R') THEN
    	   	  SEND_MAIL_REJET(sClie, sCoda, sNom, sMail);
    	   END IF;
      END;
    celà dit, j'ai le même symptome avec quelque chose de beaucoup plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    FUNCTION DEBUG_DBLINK RETURN VARCHAR2
    IS
    	sTmp VARCHAR2(100);
    BEGIN
    	 select TO_CHAR(sysdate) into sTmp from dual;
    	 RETURN sTmp;
    END DEBUG_DBLINK;

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 128
    Points : 67
    Points
    67
    Par défaut
    ça venait du fait que mon DBLink n'arrivait pas sur le bon schéma par défaut, contrairement a mon environnement de développement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonSchema.MonPackage.MaProcedure@MonDbLink
    et là tout va bien

    désolé pour le dérangement

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

Discussions similaires

  1. Problème avec procédure stockée appelée via dblink
    Par SelectEtoile dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/01/2011, 16h45
  2. insert via dblink, performance.
    Par DjinnS dans le forum SQL
    Réponses: 27
    Dernier message: 17/01/2008, 17h02
  3. Création d'une fonction à partir d'une existante (via dblink)
    Par DjinnS dans le forum Administration
    Réponses: 2
    Dernier message: 09/01/2008, 14h11
  4. Procédures et DBLINKS
    Par vinczente dans le forum Oracle
    Réponses: 17
    Dernier message: 26/09/2006, 12h33
  5. INSERT/UPDATE via DBLink
    Par Wilk dans le forum Oracle
    Réponses: 1
    Dernier message: 15/03/2006, 14h51

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