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 :

erreur [PLS-00103: Symbole "=" rencontré ]


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut erreur [PLS-00103: Symbole "=" rencontré ]
    Bonjour ,
    lors de mon essai d'acceder a une base de données distante , le trigger passe pas et on m'affiche cette erreur la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PLS-00103: Symbole "=" rencontré
    voila le code du trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE OR REPLACE TRIGGER test 
    BEFORE UPDATE OR INSERT ON SUPPORTE
    REFERENCING NEW AS n
    FOR EACH ROW
    BEGIN
    SUPPORTE@dblink1.iso1=1 ;
     
    END;
    Merci d'avance

  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 : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    = test de valeur
    := affectation d'une valeur

  3. #3
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut
    Bonjour
    au faite j'ai changé un peu le code pour avoir un truc comme ceci :

    voila le database link :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE  DATABASE LINK dblink1 CONNECT TO unicampus IDENTIFIED BY unicampus USING 'XE2'
    et l'entrée sur tnsnames
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    XE2 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = Safae.Z)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = XE2)
        )
      )
    et mon trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE OR REPLACE TRIGGER test 
    BEFORE UPDATE OR INSERT ON SUPPORTE
     
    FOR EACH ROW
    BEGIN
     
    update SUPPORTE@dblink1 set iso1=1  where id_carte.supporte@dblink1= :NEW.id_carte and id_techno.supporte@dblink1= :NEW.id_techno;
     
     
    END
    lorsque j'essai de modifier une donneé sur ma table supporte , voila ce que je recois comme erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error ORA-04098: Déclencheur 'UNI.TEST' non valide. Echec de la revalidation

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Quand tu crées ton trigger, vérifie les erreurs de compilation (SHOW ERRORS sous sql)

    Tu verras où est le problème.

    Le @DBLINK1 ne se met QUE sur les tables.

  5. #5
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut
    j'execute directement dans l'explorateur Oracle , donc lorsque j'ai tapé j'ai eu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00900: instruction SQL non valide
    comme errreur

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    le @dblink1 ne porte que sur la table

  7. #7
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut
    et qu'est ce que je dois faire pr acceder aux champs de la table supporte@dblink1 ?
    comment savoir si ma database link marche correctement deja ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par zaineb.z Voir le message
    et qu'est ce que je dois faire pr acceder aux champs de la table supporte@dblink1 ?
    rien de plus qu'une table normale.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT col1 
    FROM matable@mondbl
    signifie : je sélectionne la colonne col1 de la table matable en passant par la connexion mondbl

  9. #9
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut
    je l'ai rectifié , la meme erreur persiste tjrs
    qu'est ce que je dois faire pour verifier que le trigger ne contient pas d'erreurs et la database link aussi ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    c'est quoi le nouveau code et le rapport d'erreurs complet ?

  11. #11
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut
    voila le trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE OR REPLACE TRIGGER test 
    BEFORE UPDATE OR INSERT ON SUPPORTE
     
    FOR EACH ROW
    BEGIN
     
    update SUPPORTE@dblink1 set iso1=1  where id_carte= :NEW.id_carte and id_techno= :NEW.id_techno;
     
     
    END
    erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error ORA-04098: Déclencheur 'UNI.TEST' non valide. Echec de la revalidation

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    je veux le résultat COMPLET du show err STP

  13. #13
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Il faut un ; à la fin du END

  14. #14
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut
    voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    LINE/COL ERROR
    -------- -----------------------------------------------------------------
    0/0      ORA-04052: erreurs lors de la consultation de l'objet distant
             UNI.SUPPORTE@DBLINK1
             ORA-00604: une erreur s'est produite au niveau SQL rÚcursif 1
             ORA-12154: TNS : l'identificateur de connexion indiquÚ n'a pas pu
             Ûtre rÚsolu

  15. #15
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut
    Lorsque je test la connexion avec la base de données distante avec le Net manager , ca passe
    donc je pense que j'ai du me trompé au niveau de la declaration de la database link
    qui est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE DATABASE LINK dblink1 CONNECT TO unicampus IDENTIFIED BY unicampus USING 'XE2'
    avec XE2 c'est ne nom du service declaré dans mon tnsnames comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    XE2 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = Safaez)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = XE)
        )
      )

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    que donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus unicampus/unicampus@XE
    sur le serveur de base de données où la base qui contient le DBLink est crée ?

  17. #17
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut
    voila sk ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SQL> sqlplus unicampus/unicampus@XE ;
    SP2-0734: commande inconnue au dÚbut de "sqlplus un..." - le reste de la ligne e
    st ignorÚ.
    SQL> unicampus/unicampus@XE ;
    SP2-0734: commande inconnue au dÚbut de "unicampus/..." - le reste de la ligne e
    st ignorÚ.

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par zaineb.z Voir le message
    voila sk ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SQL> sqlplus unicampus/unicampus@XE ;
    SP2-0734: commande inconnue au dÚbut de "sqlplus un..." - le reste de la ligne e
    st ignorÚ.
    SQL> unicampus/unicampus@XE ;
    SP2-0734: commande inconnue au dÚbut de "unicampus/..." - le reste de la ligne e
    st ignorÚ.
    Non, le sqlplus se fait à partir de l'OS, pas à partir d'une session sqlplus.

  19. #19
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 328
    Points : 115
    Points
    115
    Par défaut
    comment faire ??

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Désolé mais on va pas non plus te refaire toute la doc Oracle

    Si tu ne sais même pas lancer SQL*Plus, le DBLink est le cadet de tes soucis T'as pas un prof ou un DBA sous la main pour t'aider ?

    Tu te connectes sur le serveur (tu nous as même pas dit l'OS) et tu lances la commande SQL*Plus en ligne de commande.

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

Discussions similaires

  1. Erreur PLS-00103: Encountered the symbol "AND"
    Par kouette dans le forum PL/SQL
    Réponses: 10
    Dernier message: 30/05/2011, 19h53
  2. Réponses: 6
    Dernier message: 30/04/2009, 11h18
  3. erreur PLS-00103 sur une fonction
    Par atruong dans le forum Oracle
    Réponses: 2
    Dernier message: 28/04/2006, 13h49
  4. Erreur PLS 00103
    Par claralavraie dans le forum Oracle
    Réponses: 4
    Dernier message: 05/01/2006, 17h44
  5. fonction LAG et erreur PLS-00103. Oracle 8i
    Par henrirobert dans le forum Oracle
    Réponses: 7
    Dernier message: 26/05/2005, 16h03

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