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: asotolo...@uci.cu
To: jvenegasp...@gmail.com
CC: pgsql-es-ayuda@postgresql.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: jvenegasp...@php.net

                    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

    

    

    
    

  









                                          

Responder a