RE: Ejecutar \copy desde VB

From: "Chapilliquen Gutierrez Eduardo" <ECHAPILLIQUEN(at)minem(dot)gob(dot)pe>
To: "Jaime Casanova" <systemguards(at)gmail(dot)com>, "Gabriel Hermes Colina Zambra" <hermeszambra(at)yahoo(dot)com>
Cc: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Ejecutar \copy desde VB
Date: 2007-06-19 15:24:39
Message-ID: 52865C3823D7134E909B33D3822985942279D7@srvmail01.mem.int
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda pgsql-sql

Lo que quiero hacer es carga un archivo a una tabla de postgres, el archivo lo tengo en una estación cliente con Windows XP, el servidor donde estará la Vd. puede estar en Windows o Linux, aun no se donde lo tendrá instalado el cliente.

En mi ambiente de desarrollo lo que he realizado es una aplicación en VB NET que me carga el archivo usando el comando COPY:

OdbcCommand.CommandText = "copy tmp_carga_in from 'C:/eduardo/" & txtArchivo.Text & "';"
OdbcCommand.CommandType = CommandType.Text
OdbcCommand.Connection = CN
OdbcCommand.ExecuteNonQuery()

Por lo que he leído y de las respuestas que me has brindado esto funciona porque tengo el postgre instalado localmente donde estoy desarrollando la aplicación, pero cuando lo instale donde el cliente esto no será así, la Vd. estará en un servidor y la aplicación cliente en la PC del usuario.

Lo único que se me ocurre es copiar el archivo en el servidor y luego ejecutar el copy dándole la ruta del archivo ya en el servidor, me podrían decir si con eso funcionaria sin problemas la carga del archivo??

Saludos

Eduardo

-----Mensaje original-----
De: Jaime Casanova [mailto:systemguards(at)gmail(dot)com]
Enviado el: Monday, June 18, 2007 10:30 PM
Para: Gabriel Hermes Colina Zambra
CC: Chapilliquen Gutierrez Eduardo; Alvaro Herrera; pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Ejecutar \copy desde VB

On 6/19/07, Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com> wrote:
> >
> Otra burda manera pero menos complicada, es crear un .bat que maneje
> set pgpassword=clavedeusuariopostgres

en vez de setear pgpassword deberias usar un archivo pgpass.conf http://www.postgresql.org/docs/8.2/static/libpq-pgpass.html

> y ejecutar el bat con la instruccion shell desde visual basic, quiza
> teniendo un lnk apuntando al bat.
> Es una idea burda pero funciona.
>

pero creo, no estoy seguro porque Chapiliquen no lo dejo claro, que quiere hacer eso desde un cliente y no desde el servidor... y dudo mucho que quiera tener recursos compartidos en cada cliente solo para eso... ahora que si esta dispuesto esa seria una solucion (claro que, segun yo, necesitaria ejecutar el bat en el servidor)

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs and the universe trying to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Gonzalez 2007-06-19 15:34:46 Re: rendimiento Grave II
Previous Message Mario Gonzalez 2007-06-19 15:11:17 Re: rendimiento Grave II

Browse pgsql-sql by date

  From Date Subject
Next Message Alvaro Herrera 2007-06-19 15:40:20 Re: Ejecutar \copy desde VB
Previous Message Merlin Moncure 2007-06-19 15:24:29 Re: Subquery problems