Bonjour,


Je suis en train de vouloir importer un fichier dans une base de données Oracle 9i.
Apres avoir installé Locator (spatial), j'ai généré deux fichiers.

monaco_water.sql
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
DROP TABLE MONACO_WATER;
 
CREATE TABLE MONACO_WATER (
  NATURAL 	VARCHAR2(5), 
  NAME 	VARCHAR2(22), 
  GEOM 	MDSYS.SDO_GEOMETRY);
 
DELETE FROM USER_SDO_GEOM_METADATA 
  WHERE TABLE_NAME = 'MONACO_WATER' AND COLUMN_NAME = 'GEOM' ;
 
INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) 
  VALUES ('MONACO_WATER', 'GEOM', 
    MDSYS.SDO_DIM_ARRAY 
      (MDSYS.SDO_DIM_ELEMENT('X', -180.000000000, 180.000000000, 0.500000000), 
       MDSYS.SDO_DIM_ELEMENT('Y', -90.000000000, 90.000000000, 0.500000000)  
     ), 
     8307); 
COMMIT;
monaco_water.ctl
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
LOAD DATA 
 INFILE *
 TRUNCATE
 CONTINUEIF NEXT(1:1) = '#'
 INTO TABLE MONACO_WATER
 FIELDS TERMINATED BY '|'
 TRAILING NULLCOLS (
   NATURAL 	NULLIF NATURAL = BLANKS,
   NAME 	NULLIF NAME = BLANKS,
   GEOM COLUMN OBJECT 
   (
     SDO_GTYPE       INTEGER EXTERNAL, 
     SDO_SRID        INTEGER EXTERNAL, 
     SDO_ELEM_INFO   VARRAY TERMINATED BY '|/' 
       (X            FLOAT EXTERNAL), 
     SDO_ORDINATES   VARRAY TERMINATED BY '|/' 
       (X            FLOAT EXTERNAL) 
   )
)
BEGINDATA
 water|Port Hercule de Monaco|
#3|8307|
#1|3|1|/
#7.427232|43.735806|7.427532|43.734870|7.427377|43.734895|7.427292|43.734869|
#7.427249|43.734776|7.427292|43.734615|7.427404|43.734609|7.427550|43.734055|
#7.427678|43.733598|7.427312|43.733523|7.426902|43.733439|7.426452|43.733347|
#7.425898|43.733233|7.425300|43.733110|7.424541|43.732955|7.424118|43.732868|
#7.423737|43.732790|7.423326|43.732705|7.423283|43.732798|7.423034|43.732749|
#7.422553|43.733287|7.422194|43.733921|7.422537|43.734057|7.422531|43.734512|
#7.422731|43.734544|7.423258|43.734628|7.423412|43.734088|7.423470|43.734100|
#7.423532|43.734113|7.423172|43.735378|7.423112|43.735370|7.423043|43.735360|
#7.423197|43.734814|7.422700|43.734745|7.422474|43.734714|7.422252|43.735504|
#7.421930|43.735566|7.421930|43.735907|7.422038|43.736279|7.422253|43.736662|
#7.424934|43.736977|7.425085|43.736868|7.425685|43.736930|7.425695|43.737046|
#7.426742|43.737139|7.427034|43.736042|7.426888|43.735999|7.426931|43.735862|
#7.427060|43.735750|7.427232|43.735806|/
Après avoir exécuté le script du fichier sql, et une fois les tables créées, j'ai voulu charger les données avec la commande :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sqlldr cant@AX7003/cant c:\Oracle\monaco_water.ctl
Mais je n'ai aucune réaction et cela me génère un fichier .BAD nommé :
monaco_water.BAD que voici :
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
water|Port Hercule de Monaco|
#3|8307|
#1|3|1|/
#7.427232|43.735806|7.427532|43.734870|7.427377|43.734895|7.427292|43.734869|
#7.427249|43.734776|7.427292|43.734615|7.427404|43.734609|7.427550|43.734055|
#7.427678|43.733598|7.427312|43.733523|7.426902|43.733439|7.426452|43.733347|
#7.425898|43.733233|7.425300|43.733110|7.424541|43.732955|7.424118|43.732868|
#7.423737|43.732790|7.423326|43.732705|7.423283|43.732798|7.423034|43.732749|
#7.422553|43.733287|7.422194|43.733921|7.422537|43.734057|7.422531|43.734512|
#7.422731|43.734544|7.423258|43.734628|7.423412|43.734088|7.423470|43.734100|
#7.423532|43.734113|7.423172|43.735378|7.423112|43.735370|7.423043|43.735360|
#7.423197|43.734814|7.422700|43.734745|7.422474|43.734714|7.422252|43.735504|
#7.421930|43.735566|7.421930|43.735907|7.422038|43.736279|7.422253|43.736662|
#7.424934|43.736977|7.425085|43.736868|7.425685|43.736930|7.425695|43.737046|
#7.426742|43.737139|7.427034|43.736042|7.426888|43.735999|7.426931|43.735862|
#7.427060|43.735750|7.427232|43.735806|/
La commande que j'ai utilisé pour générer les fichier .sql et .ctl est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
cmd>shp2sdo.exe c:\Orale\monaco_water monaco_water -g geom -d 
-x (-180,180) -y (-90,90) -s 8307 -t 0.5 -vspatial
Alors, je ne comprends pas comment corriger et quelle est l'erreur.

Merci de me donner un coup de main.


Erik