Oracle 9i : comment corriger le fichier .BAD
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:
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:
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:
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:
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:
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