Skip site navigation (1) Skip section navigation (2)

Re: RESTRICION FUNCION COPY

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: yanguma <ricardo(dot)yanguma(at)gmail(dot)com>
Cc: postgresayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: RESTRICION FUNCION COPY
Date: 2009-12-20 03:27:13
Message-ID: 20091220032713.GB6840@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
yanguma escribió:

> 1, cargo un plano, que en la primera fila contiene lo siguientes datos
> $linea=1|1|11|41|510102|1000|1
> los cuales corresponde a los campos (c1, c2, c3, c4, c5, c6, c7) de la
> tabla_name
> 
> 2. como la funcion pg_copy_from dice que los parametros son ($conexion,
> 'tabla_name', $row) donde $row es un array, entonces para convertir la fila
> del paso 1 a un array la paso por la funcion:
> $row=explode("|",$linea);
> 
> quedando un array de la siguente forma
> Array ( [0] => 1 [1] => 1 [2] => 11 [3] => 41 [4] => 510102 [5] => 1000 [6]
> => 1 )

El error está en hacer el explode.  Más bien deberías pasar la línea tal
como está sin hacer explode, o sea

pg_copy_from($conn, 'tabla_name', $linea, '|');

Supongo que tienes que hacer un array con un elemento por linea, o sea
deberia verse algo así:

Array( [0] => '1|1|11|41|510102|1000|1',
       [1] => '2|2|22|42|510102|2000|2',
       ...
     );

un elemento de array por línea del archivo.  El manual no dice (son tan
malos los manuales de PHP, me llegan a dar terror) si puedes invocar
más de una vez la función para una misma orden COPY.

-- 
Alvaro Herrera       Vendo parcela en Valdivia:  http://alvherre.cl/caboblanco
"The Postgresql hackers have what I call a "NASA space shot" mentality.
 Quite refreshing in a world of "weekend drag racer" developers."
(Scott Marlowe)

In response to

pgsql-es-ayuda by date

Next:From: Marcelo MartínezDate: 2009-12-20 19:50:04
Subject: Comenzando con postgresql, necesito ayuda
Previous:From: Diego SchulzDate: 2009-12-19 19:45:27
Subject: Re: Conexiones SSL

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group