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 :

"ORA-22992" 1 fois sur 5 ?


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut "ORA-22992" 1 fois sur 5 ?
    Bonjour,
    Cela fait 2 jour de je m'arrache les cheveux sur le problème suivant :
    J'ai 2 schémas (dans la même instance, mais à terme, ce sera sur 2 serveur distinct) avec des tables de chaque coté (normal) et je pousse des données de la première vers la deuxième.
    Mais sur les 5 tables destinations, seulement 4 fontionnent et 1 mets l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORA-22992: impossible d'utiliser les indicateurs d'emplacement LOB sélectionnés
    dans des tables distantes
    Voici les tables destinations :
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    CREATE TABLE TOOL
      (
      TOOL_ID       VARCHAR2 (24) NOT NULL,
      DESCRIPTION   VARCHAR2 (128),
      ADAPTER       NUMBER (4,0),
      COMMENTS      VARCHAR2 (4000),
      FLAG          NUMBER (2,0),
      BIG_DATA      CLOB,
      CONSTRAINT ITOOL PRIMARY KEY (TOOL_ID) USING INDEX TABLESPACE "INDX"  ENABLE
      )
    TABLESPACE "USERS";
     
    CREATE TABLE STEP
      (
      TOOL_ID         VARCHAR2 (24) NOT NULL,
      STEP_ID         NUMBER (4,0) NOT NULL,
      X_1             NUMBER (11,3),
      X_2             NUMBER (11,3),
      X_3             NUMBER (11,3),
      X_4             NUMBER (11,3),
      Z_1             NUMBER (11,3),
      Z_2             NUMBER (11,3),
      Z_3             NUMBER (11,3),
      Z_4             NUMBER (11,3),
      R_1             NUMBER (11,3),
      R_2             NUMBER (11,3),
      R_3             NUMBER (11,3),
      R_4             NUMBER (11,3),
      A1_1            NUMBER (11,3),
      A1_2            NUMBER (11,3),
      A1_3            NUMBER (11,3),
      A1_4            NUMBER (11,3),
      A2_1            NUMBER (11,3),
      A2_2            NUMBER (11,3),
      A2_3            NUMBER (11,3),
      A2_4            NUMBER (11,3),
      EDGES_NUMBER    NUMBER (2,0),
      FLAG            NUMBER (2,0),
      BIG_DATA        CLOB,
      CONSTRAINT ISTEP PRIMARY KEY (TOOL_ID, STEP_ID) USING INDEX TABLESPACE "INDX"  ENABLE
      )
    TABLESPACE "USERS";
     
    CREATE TABLE LIST
      (
      LIST_ID         VARCHAR2 (64) NOT NULL,
      PRE_ID          NUMBER (3,0) DEFAULT 1,
      PROGRAM         VARCHAR2 (32),
      DESCRIPTION     VARCHAR2 (128),
      MACHINE         VARCHAR2 (32),
      CREATOR         VARCHAR2 (50),
      COMMENTS        VARCHAR2 (4000),
      FLAG            NUMBER (2,0),
      BIG_DATA        CLOB,
      CONSTRAINT ILIST PRIMARY KEY (LIST_ID, PRE_ID) USING INDEX TABLESPACE "INDX"  ENABLE
      )
    TABLESPACE "USERS";
     
    CREATE TABLE STEPLIST
      (
      LIST_ID         VARCHAR2 (64) NOT NULL,
      POSITION        NUMBER (4,0) NOT NULL,
      STEP_ID         NUMBER (4,0) NOT NULL,
      PRE_ID          NUMBER (3,0) DEFAULT 1,
      X_4             NUMBER (11,3),
      Z_4             NUMBER (11,3),
      R_4             NUMBER (11,3),
      A1_4            NUMBER (11,3),
      A2_4            NUMBER (11,3),
      FLAG            NUMBER (2,0),
      BIG_DATA        CLOB,
      CONSTRAINT ISTEPLIST PRIMARY KEY (LIST_ID, POSITION, STEP_ID, PRE_ID) USING INDEX TABLESPACE "INDX"  ENABLE
      )
    TABLESPACE "USERS";
     
    CREATE TABLE TOOLLIST
      (
      LIST_ID         VARCHAR2 (64) NOT NULL,
      POSITION        NUMBER (4,0) NOT NULL,
      PRE_ID          NUMBER (3,0) DEFAULT 1,
      TOOL_ID         VARCHAR2 (24),
      FLAG            NUMBER (2,0),
      BIG_DATA        CLOB,
      CONSTRAINT ITOOLLIST PRIMARY KEY (LIST_ID, POSITION, PRE_ID) USING INDEX TABLESPACE "INDX"  ENABLE
      )
    TABLESPACE "USERS";
    et voici la procedure qui les remplis :
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
     
    CREATE OR REPLACE TRIGGER ZOIN
    AFTER INSERT ON ZOIN
    FOR EACH ROW WHEN (new.ACTION=1)
    BEGIN
     
      INSERT INTO
        STEP@REMOTE
          (
          TOOL_ID      ,
          STEP_ID      ,
          X_1          ,
          X_2          ,
          X_3          ,
          X_4          ,
          Z_1          ,
          Z_2          ,
          Z_3          ,
          Z_4          ,
          R_1          ,
          R_2          ,
          R_3          ,
          R_4          ,
          A1_1         ,
          A1_2         ,
          A1_3         ,
          A1_4         ,
          A2_1         ,
          A2_2         ,
          A2_3         ,
          A2_4         ,
          EDGES_NUMBER ,
          FLAG,
          BIG_DATA
          )
      SELECT
        LISTEO.IDENTI||'-'||LISTEO.ORDRE, 
        LISTEA.ANGLE,
        LISTEA.X__1,
        LISTEA.X__2,
        LISTEA.X__3,
        LISTEA.X__4,
        LISTEA.Z__1,
        LISTEA.Z__2,
        LISTEA.Z__3,
        LISTEA.Z__4,
        LISTEA.R__1,
        LISTEA.R__2,
        LISTEA.R__3,
        LISTEA.R__4,
        LISTEA.A1_1,
        LISTEA.A1_2,
        LISTEA.A1_3,
        LISTEA.A1_4,
        LISTEA.A2_1,
        LISTEA.A2_2,
        LISTEA.A2_3,
        LISTEA.A2_4,
        LISTEA.NBRART,
        '0',
        LISTEA.BIGDAT_AOUT
      FROM
        LISTEA, LISTEO
      WHERE
        LISTEA.LIENID=LISTEO.LIENID AND
        LISTEA.GROUPE=:new.GROUPE AND 
        LISTEA.PROGRA=:new.PROGRA AND
        LISTEA.INDICE=:new.INDICE;
     
      INSERT INTO
        TOOL@REMOTE
          (
          TOOL_ID      ,
          DESCRIPTION  ,
          ADAPTER      ,
          COMMENTS     ,
          FLAG,
          BIG_DATA
          )
      SELECT
        LISTEO.IDENTI||'-'||LISTEO.ORDRE,
        LISTEO.DONDES,
        1,
        LISTEO.LOUCMT,
        '0',
        LISTEO.BIGDAT_OUTI
      FROM
        LISTEO, OUTI, ATCH
      WHERE
        LISTEO.IDENTI=OUTI.IDENTI AND
        LISTEO.GROUPE=:new.GROUPE AND 
        LISTEO.PROGRA=:new.PROGRA AND
        LISTEO.INDICE=:new.INDICE;
     
      INSERT INTO
        STEPLIST@REMOTE
          (
          LIST_ID      ,
          POSITION     ,
          STEP_ID      ,
          PRESETTER_ID ,
          X_4          ,
          Z_4          ,
          R_4          ,
          A1_4         ,
          A2_4         ,
          FLAG,
          BIG_DATA
          )
      SELECT
        LISTEA.GROUPE||'-'||LISTEA.PROGRA||'-'||LISTEA.INDICE,
        LISTEO.ORDRE,
        LISTEA.ANGLE,
        1,
        LISTEA.X__4,
        LISTEA.Z__4,
        LISTEA.R__4,
        LISTEA.A1_4,
        LISTEA.A2_4,
        '0',
        LISTEA.BIGDAT
      FROM
        LISTEA, LISTEO
      WHERE
        LISTEA.LIENID=LISTEO.LIENID AND
        LISTEA.GROUPE=:new.GROUPE AND 
        LISTEA.PROGRA=:new.PROGRA AND
        LISTEA.INDICE=:new.INDICE;
     
      INSERT INTO
        TOOLLIST@REMOTE
          (
          LIST_ID      ,
    	  POSITION     ,
          PRESETTER_ID ,
          TOOL_ID      ,
          FLAG,
          BIG_DATA
          )
      SELECT
        GROUPE||'-'||PROGRA||'-'||INDICE,
    	ORDRE,
    	1,
        IDENTI||'-'||ORDRE,
        '0',
        LISTEO.BIGDAT
      FROM
        LISTEO
      WHERE
        GROUPE=:new.GROUPE AND 
        PROGRA=:new.PROGRA AND
        INDICE=:new.INDICE;
     
      INSERT INTO
        LIST@REMOTE
          (
          LIST_ID      ,
          PRESETTER_ID ,
          NC_PROGRAM   ,
          DESCRIPTION  ,
          MACHINE      ,
          PROG_CREATOR ,
          COMMENTS     ,
          FLAG,
          BIG_DATA
          )
      SELECT
        GROUPE||'-'||PROGRA||'-'||INDICE, 
        1,
        PROGRA, 
        DESIGN, 
        INFORM, 
        AUTEUR, 
        COMMEN,
        '0',
        BIGDAT
      FROM
        PROG
      WHERE
        GROUPE=:new.GROUPE AND 
        PROGRA=:new.PROGRA AND
        INDICE=:new.INDICE;
     
    END;
    /
    Quand je l'utilise telle quelle, j'ai l'erreur.
    Si je supprime le troisième INSERT (celui sur STEPLIST) cela fonctionne.
    J'ai beau chercher, je vois pas de "différences" entre les tables, elles sont toutes faites de la même façon.
    J'ai testé sur un orcle 9 entreprise, 10 entreprise et 10 XE. Toujours le même résultat.

    Je vous demande donc un regard neuf, si ça se trouve c'est un truc tout pourri comme quand on oubli une virgule à la fin d'une ligne en C.

    Ou alors, une méthode qui fonctionnerai à coup sur. (J'ai déjà essayer les synonyne ça n'a rien donné).
    Une dernière info, quand je recrée la table STEPLIST sans le BIG_DATA, que je modifie le trigger, que je remonte les liens et tout, j'ai quand l'erreur alors que le LOB n'existe plus.

    Une idée ?

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    de mémoire, il y a des limitation sur les lob avec les databalinks, notamment dans les triggers, me semble t-il...

    A vérifier

    Cherche de ce coté
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  3. #3
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut
    Effectivement, j'avais trouvé des truc la dessus.
    Expliquant que certaines "formes" d'insert ne fonctionnaient pas.
    Mais ce qui est très étranges que seulement un insert ne passe pas, les autres c'est ok, alors que certains sont plus "complexes".
    Mais je vais re-grater dans ce sens.
    Merci

  4. #4
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut
    Si je remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LISTEA.GROUPE||'-'||LISTEA.PROGRA||'-'||LISTEA.INDICE,
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LISTEO.GROUPE||'-'||LISTEO.PROGRA||'-'||LISTEO.INDICE,
    Ca fonctionne...
    Très très bizare ce truc.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/11/2009, 16h14
  2. ORA-01756: quoted string not properly terminated
    Par hottnikks_79 dans le forum SQL
    Réponses: 14
    Dernier message: 22/05/2007, 13h02

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