Bonjour,

J'essaie de créer un index spatial sur une base de données Oracle 11g XE et j'obtiens toujours un message d'erreur.
Dans le premier cas, je crée une table puis insère quelques éléments et puis je crée l'index spatial:
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
-- on crée la table
CREATE TABLE  "GTPEVT"
   ( "DOMAINPK" VARCHAR2(255 CHAR) NOT NULL ENABLE,
    "NORECOPK" VARCHAR2(64 CHAR) NOT NULL ENABLE,
    "EVENTSTART" DATE DEFAULT to_date('01-01-70 00:00:00', 'dd-MM-yy hh24:mi:ss'),
    "EVENTEND" DATE DEFAULT to_date('01-01-70 00:00:00', 'dd-MM-yy hh24:mi:ss'),
    "SPATIALDATA" "SDO_GEOMETRY",
     CONSTRAINT "PRIMARY_GTPEVT" PRIMARY KEY ("DOMAINPK", "NORECOPK") ENABLE
   ) ORGANIZATION INDEX NOCOMPRESS  OVERFLOW;
 
-- métadata des données géométriques (des rectangles)
INSERT INTO USER_SDO_GEOM_METADATA
VALUES ('GTPEVT','SPATIALDATA', MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X', 1, 10, 0.001),
                                                    MDSYS.SDO_DIM_ELEMENT('Y', 1, 10, 0.001)), NULL);
 
-- une ligne de donnée
insert into gtpevt(domainpk,norecopk,eventstart,eventend,spatialdata) VALUES ('ALL','ABCDEF1',to_date('2016-01-01','YYYY-MM-DD'),to_date('2016-01-02','YYYY-MM-DD'),SDO_GEOMETRY(2003,NULL,NULL,SDO_ELEM_INFO_ARRAY(1,1003,3),SDO_ORDINATE_ARRAY(1,1,2,2)));
 
-- création de l'index spatial
CREATE INDEX gtpevt_spdata ON gtpevt(spatialdata) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
Lors de la création de l'index spatial, l'erreur est la suivante:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-13249: internal error in Spatial index: [mdidxrbd]
ORA-13249: Error in Spatial index: index build failed
ORA-13249: Error in spatial index: [mdrcrtxfergm]
ORA-13249: Error in spatial index: [mdpridxtxfergm]
ORA-29400: data cartridge error
ORA-12899: value too large for column "SAI"."M2_14DDD$$"."RID" (actual: 23, maximum: 20)
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
Je vois bien qu'il y a une données trop longue, mais impossible de savoir quoi, ou et ce qu'il faut faire pour corriger ce souci.

Maintenant, si j'inverse l'insertion et la création de l'index, la création fonctionne, mais lors de l'insert j'ai:
ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
ORA-29400: data cartridge error
ORA-01480: trailing null missing from STR bind value
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 720
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 225
Merci d'avance pour votre aide :-)