El 13/09/12 11:16, Jose Mercedes Venegas Acevedo escribió:
buen dia tengo este serio problema

tengo un archivo de texto que cargo a una tabla con copy con

copy tf_aux (the_geom) from 'D:/Compartido/arena lotes2.txt' with delimiter as '|'

aqui algunas lineas de lo que envio

SRID=32717;POLYGON((532525.78346574 9409648.23476958,532531.39331141 9409671.00387433,532553.12927205 9409648.29762166,532545.67108526 9409636.57328779,532524.21653656 9409641.87495566,532525.78346574 9409648.23476958)) *SRID=32717;POLYGON((532485.62875198 9409610.76749403,532472.26944736 9409613.79690108,532485.62875198 9409610.76749403)) (1)* *SRID=32717;POLYGON((532517.48446853 9409648.368074,532524.31294602 9409672.78107043,532531.39331141 9409671.00387433,532525.78346574 9409648.23476958,532518.73437504 9409648.34799705,532517.48446853 9409648.368074,532517.48446853 9409648.368074,523)) (2)*

esto es para cargar un campo de tipo geometry con postgis bueno el hecho es que son miles de lineas pero no todas salen bien de autocad asi que tengo estos dos casos

(1) el numero de puntos no es suficiente postgres me devuelve este error
ERROR:  geometry requires more points
HINT: "...08,532485.62875198 9409610.76749403))" <-- parse error at position 120 within geometry CONTEXT: COPY tf_aux, línea 3573, columna the_geom: «SRID=32717;POLYGON((532485.62875198 9409610.76749403,532472.26944736 9409613.79690108,532485.6287519...»

lo que hago es buscar manualmente en el archivo de texto y eliminar esa linea para que pase

(2) el ultimo punto esta mal escrito postgre devuelve
ERROR:  parse error - invalid geometry
HINT: "...4,532517.48446853 9409648.368074,523)" <-- parse error at position 249 within geometry CONTEXT: COPY tf_aux, línea 3571, columna the_geom: «SRID=32717;POLYGON((532517.48446853 9409648.368074,532524.31294602 9409672.78107043,532531.39331141 ...»

aqui igual busco la linea y la elimino para que pase

*ahora supongo que ambas excepciones tienen algun codigo de error como puedo saber cual es el codigo de ese error?

y segundo se puede capturar esa excepcion y con el codigo en caso de que ocurra saltar y que siga ejecutando el copy? con las demas lineas?
*
alguien tendra un ejemplo para lograr tengo que pasarme a veces una mañana entera limpiando las lineas para que pasen en el copy.

espero puedan ayudarme

saludos

--
José Mercedes Venegas Acevedo
cel: Mov. 949808846

mails: jvenegasp...@php.net <mailto:jvenegasp...@php.net>
jvenegasp...@gmail.com <mailto:jvenegasp...@gmail.com>

PHP Spanish Docs translator member.
http://www.php.net/manual/es/index.php

También pudieras echarle el ojo a la herramienta de Alejandro y sirvieras de beta tester de paso

 fzpgloader :
http://sourceforge.net/projects/fzpgloader/files/latest/download
1) Tiene un ejemplo de archivo de configuración en la carpeta example.
2) Ahora trae un modo gráfico para crear/modificar el archivo de configuracion y cargarlo. No pierde el modo texto, el cual se activa cuando se envía un parámetro, el cual debe ser el archivo de configuración.

No olvidar leer la wiki
http://sourceforge.net/p/fzpgloader/wiki/Home/

saludos





10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS 
INFORMATICAS...
CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION

http://www.uci.cu
http://www.facebook.com/universidad.uci
http://www.flickr.com/photos/universidad_uci

Responder a