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 :

Erreur : impossible de selectionner les champs distants


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut Erreur : impossible de selectionner les champs distants
    Bonsoir ,

    lorsque j'essaie d'executer mon trigger :
    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
    CREATE OR REPLACE TRIGGER trigger_champs BEFORE UPDATE OR INSERT ON PERSONNES
    FOR EACH ROW
    DECLARE  diff VARCHAR(20);
    BEGIN 
    if ( :new.diffphoto = 1 ) then
    diff:='O'; 
    else diff:='N';
    end if;
    if (id_existe(substr(:new.id_personne,1,(length(:new.id_personne)-12))) < 1) then
    insert into asynchrone@exportSynchrone (stockage_photo ,diffphoto ,date_maj)
    Values( :new.stockage_photo ,diff  ,NVL( :new.date_maj, NVL( :new.dat_creation,
    '01/01/1999')) );  
    else update asynchrone@exportSynchrone set stockage_photo =
    :new.stockage_photo ,diffphoto = diff  ,date_maj = NVL( :new.date_maj, NVL(
    :new.dat_creation, '01/01/1999')) ; 
    end if ; 
    END ;
    on m'affiche cette erreur que je sais pas comment gerer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PL/SQL: SQL Statement ignored
    PL/SQL: ORA-22992: impossible d'utiliser les indicateurs
    d'emplacement LOB sÚlectionnÚs dans des tables distantes
    j'ai visité plein de sites, on conseille de creer une vue de la table distante , or cette soluce ne me convient pas vu la taille de ma table distante...c'est pas evident...
    any suggestions?

  2. #2
    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
    ORA-22992: cannot use LOB locators selected from remote tables
    Cause: A remote LOB column cannot be referenced.
    Action: Remove references to LOBs in remote tables.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    comment cela ? je n'ai pas bien saisi..

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    au faite , merci de m'avoir repondu , j'ai resolu le prob , enfin lorsque j'ai réecrit la procedure bizarrement tout marche bien , enfin on m'affiche plus l'erreur precedente , la nouvelle c'est celle la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    PL/SQL: SQL Statement ignored
    PL/SQL: ORA-00933: la commande SQL ne se termine pas correctement
    PLS-00103: Symbole "=" rencontrÚ Ó la place d'un des symboles
    suivants :
    := . ( @ % ;
    Symbole ":= insÚrÚ avant "=" pour continuer.
    et voila mon trigger :
    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
    CREATE OR REPLACE TRIGGER trigger_champs BEFORE UPDATE OR INSERT ON PERSONNES 
    FOR EACH ROW
    DECLARE diff VARCHAR(10);
    compt INTEGER;
    BEGIN
     select count(id_personne) into compt from asynchrone@exportSynchronewhere id_personne= :new.id_personne ;
    if ( :new.diffphoto = 1) then diff='O';
    else diff :='N';
    end if;
     
      if (compt < 1 ) then 
    insert into asynchrone@exportSynchrone (id_personne,diffphoto ,date_maj)  Values (:new.id_personne,diff,NVL(:new.date_maj, NVL(:new.dat_creation,'01/01/1999')) );  
     
    else 
    update asynchrone@exportSynchrone set diffphoto = diff,date_maj = NVL( :new.date_maj, NVL( :new.dat_creation,'01/01/1999')) ; 
    end if ; 
     
    END ;

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 51
    Points : 26
    Points
    26
    Par défaut
    Merci mnitu de m'avoir repondu
    je me suis trompée au niveau d'une affectation

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/02/2008, 11h13
  2. ADO : impossible de trier les champs
    Par soso78 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 07/11/2007, 22h53
  3. Réponses: 7
    Dernier message: 02/10/2006, 17h55
  4. Réponses: 8
    Dernier message: 26/07/2006, 14h50
  5. j'arrive pas a selectionner les champ d'un tableau a mysql
    Par ghita269 dans le forum Administration
    Réponses: 3
    Dernier message: 04/07/2006, 12h38

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