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:
Lors de la création de l'index spatial, l'erreur est la suivante:
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;
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.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
Maintenant, si j'inverse l'insertion et la création de l'index, la création fonctionne, mais lors de l'insert j'ai:
Merci d'avance pour votre aide :-)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
Partager