Received: from localhost (maia-3.hub.org [200.46.204.184]) by postgresql.org (Postfix) with ESMTP id 3195F9FB28C for ; Mon, 18 Jun 2007 14:31:34 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.184]) (amavisd-maia, port 10024) with ESMTP id 50189-03 for ; Mon, 18 Jun 2007 14:31:12 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.5 Received: from lists.commandprompt.com (host-254.commandprompt.net [207.173.203.254]) by postgresql.org (Postfix) with ESMTP id 74E5F9FBB6E for ; Mon, 18 Jun 2007 14:31:22 -0300 (ADT) Received: from perhan.alvh.no-ip.org (190-13-143-52.bk13-dsl.surnet.cl [190.13.143.52]) (authenticated bits=0) by lists.commandprompt.com (8.13.7/8.13.6) with ESMTP id l5IHUvOZ017618; Mon, 18 Jun 2007 10:31:05 -0700 Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id 130A432A23; Mon, 18 Jun 2007 13:30:54 -0400 (CLT) Date: Mon, 18 Jun 2007 13:30:54 -0400 From: Alvaro Herrera To: Chapilliquen Gutierrez Eduardo Cc: pgsql-es-ayuda@postgresql.org Subject: Re: Ejecutar \copy desde VB Message-ID: <20070618173053.GE13688@alvh.no-ip.org> References: <52865C3823D7134E909B33D3822985942028A3@srvmail01.mem.int> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <52865C3823D7134E909B33D3822985942028A3@srvmail01.mem.int> User-Agent: Mutt/1.5.13 (2006-08-11) X-Virus-Scanned: ClamAV version 0.88.5, clamav-milter version 0.88.5 on projects.commandprompt.com X-Virus-Status: Clean X-Greylist: Sender succeded SMTP AUTH authentication, not delayed by milter-greylist-1.6 (lists.commandprompt.com [192.168.2.159]); Mon, 18 Jun 2007 10:31:06 -0700 (PDT) X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200706/406 X-Sequence-Number: 28238 Chapilliquen Gutierrez Eduardo escribió: > Alguien podría indicarme como puedo ejecutar el comando pgsql "\copy" > desde una aplicación VB, tengo una conexión vía ODBC, el servidor es > 8.2 y esta instalado en un Windows XP-SP2. He logrado ejecutar el > comando COPY, pero para ello necesito loguearme con el súper usuario > de la BD, cosa que no será el usuario que se utilizara para la > aplicación, agradezco sus sugerencias En realidad puedes usar COPY sin un superusuario, pero tienes que usar COPY FROM STDIN en lugar de tratar de pasarle un archivo. No puedes usar \copy, puesto que esa órden es sólo de psql (el programa de consola), no es parte de la API de Postgres, ni de SQL, etc. Supongo que una solución sería que tu aplicación en VB ejecute algo como psql -c "\copy ..." -- Alvaro Herrera http://www.amazon.com/gp/registry/DXLWNGRJD34J "Los dioses no protegen a los insensatos. Éstos reciben protección de otros insensatos mejor dotados" (Luis Wu, Mundo Anillo)