Buenas tardes Fabio.

He tenido la experiencia de realizar algo parecido.

Teniendo en cuenta que la BD y el código php se ejecutaban en servidores
diferentes (respectivamente en el servidor de BD y Web)  utilice las
funciones sh2_connect,ssh2_auth_password, ssh2_sftp, ssh2_scp_send para
transferir el archivo al servidor de BD desde el web y luego simplemente
ejecuto el procedimiento almacenado que carga el archivo a una tabla con la
función COPY.

Ing. Erik Hernandez V



El 23 de junio de 2011 12:57, Fabio Arias <fhar...@gmail.com> escribió:

> Muy buenas tardes, me gustaria que alguien me ayudara con el procesamiento
> de un archivo de texto en una función.
>
> La idea es que cargo desde PHP un archivo que tiene la informacion a ser
> insertada en la tabla PINPRODUCTO, pero no quiero hacerlo desde PHP ya que
> quiero controlar los errores dentro del procesimiento almacenado y conocer
> en que linea ocurrio un error y hacerle rollback a todo en caso de algun
> error.
>
> CREATE TABLE "PINPRODUCTO"
> (
>   "PINE_ID" integer NOT NULL DEFAULT
> nextval('"PIN_PINE_ID_seq"'::regclass),
>   "PROD_ID" integer NOT NULL,
>   "LOTE_ID" integer NOT NULL,
>   "PINE_SERIAL" character varying(30) NOT NULL,
>   "PINE_NUMEROPIN" character varying(30) NOT NULL,
>   "PINE_FECHACARGUE" date NOT NULL DEFAULT now(),
>   "PINE_FECHAEXPIRACION" date NOT NULL,
>   "ESPI_ID" integer NOT NULL,
>   CONSTRAINT "PINPRO_pkey" PRIMARY KEY ("PINE_ID"),
>   CONSTRAINT "PIN_ESPI_ID_fkey" FOREIGN KEY ("ESPI_ID")
>       REFERENCES "ESTADOPIN" ("ESPI_ID") MATCH SIMPLE
>       ON UPDATE NO ACTION ON DELETE NO ACTION,
>   CONSTRAINT "PIN_LOTE_ID_fkey" FOREIGN KEY ("LOTE_ID")
>       REFERENCES "LOTELOGICO" ("LOTE_ID") MATCH SIMPLE
>       ON UPDATE NO ACTION ON DELETE NO ACTION,
>   CONSTRAINT "PIN_PROD_ID_fkey" FOREIGN KEY ("PROD_ID")
>       REFERENCES "PRODUCTO" ("PROD_ID") MATCH SIMPLE
>       ON UPDATE NO ACTION ON DELETE NO ACTION
> )
> WITH (
>   OIDS=FALSE
> );
>
> Gracias,
>
>
> Fabio Hernando Arias Vera
> Ingeniero de Sistemas
> IT Manger & Founder BrainWinner Group SAS
> follow me @fabioariasvera
> Cel. +57 320 8494130
>
>

Responder a