From: | Armando Venegas Pérez <venegasp_armando(at)hotmail(dot)com> |
---|---|
To: | <asotolongo(at)uci(dot)cu>, <jvenegasperu(at)gmail(dot)com> |
Cc: | "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: consulta excepciones con copy se pueden controlar? aqui el caso |
Date: | 2012-09-14 15:19:18 |
Message-ID: | BAY164-W334FA898AABAB4C6174439F7900@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Saludos lista
Hola primo del Perú.
En algún momento tuve un problema como el tuyo.
Yo lo resolví con programación externa, la aplicación leía cada uno de los campos y los escribía en la base de datos, en caso de error se mandaba a grabar en otro archivo de texto para su análisis y corrección.
Siendo honesto contigo, el día de hoy y mañana estoy bastante ocupado, pero el domingo puedo modificar la aplicación para que realicé lo que necesitas.
Si te decides, necesitaría un fragmento del archivo de texto y la consulta a utilizar, ya sea INSERT o UPDATE.
NOTA: lo tengo en JAVA y es por linea de comando.
Espero mi ayuda te pueda servir. Si lo que necesita es que lo realicé PosgtreSQL, tal vez con programación en PL/pgSQL pueda ser la solución (pero yo lo desconozco).
Saludos
Date: Thu, 13 Sep 2012 11:25:44 -0400
From: asotolongo(at)uci(dot)cu
To: jvenegasperu(at)gmail(dot)com
CC: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] consulta excepciones con copy se pueden controlar? aqui el caso
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: jvenegasperu(at)php(dot)net
jvenegasperu(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Dario Andres Almonte Alonzo | 2012-09-14 15:25:34 | Resturar desde archivo por lotes |
Previous Message | Mariano Reingart | 2012-09-13 18:06:26 | [ANUNCIO] Cronogramas de Charlas del PgDay Argentina 2012 |