RE: consulta excepciones con copy se pueden controlar? aqui el caso

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


In response to

Browse pgsql-es-ayuda by date

  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