Re: Formato DBF

From: "Mariano Reingart" <mariano(at)nsis(dot)com(dot)ar>
To: "Lista Postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Formato DBF
Date: 2009-03-02 20:03:33
Message-ID: 59839.200.123.112.2.1236024213.squirrel@www.nsis.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Miguel Angel wrote:
> El vie, 27-02-2009 a las 22:32 -0300, Mariano Reingart escribió:
>>> Hay algo que me ayude a convertir los resultados de las consultas
>>> hechas en postgres a formato DBF y poder enviarselos a estos
>>> "nodos" para que ellos sigan trabajando con normalidad?
>>
>> Podrías usar el lenguaje python (funciones en plpythonu) que generen
>> archivos DBF con la librerias dbfpy http://www.fiby.at/dbfpy/
>>
>> Podrías ejecutar la función con un SELECT para que te genere el dbf.
>> Si te interesa avisame y veo de armarte algun ejemplo.
>
> Aunque no se python me interesa si me pudieras pasar el ejemplo.
> Ya del lenguaje podría encargarme yo.
>
> Gracias por la oferta; un ejemplo sencillo me basta sobre como hacer
> esto.

Yo haría una función parecida a la siguiente (serian dos funciones, una para
crear el archivo dbf y otra para agregar registros al dbf):

CREATE OR REPLACE FUNCTION exportar_dbf(dbf_file text, nombre text, importe
float4, fecha date)
RETURNS bool AS
$BODY$

from dbfpy.dbf import dbf_new, Dbf, DbfRecord

# crar el dbf
dbf0 = dbf_new()
dbf0.add_field("nombre",'C',80)
dbf0.add_field("precio",'N',10,2)
dbf0.add_field("fecha",'D',8)
dbf0.write(dbf_filename)

# abrir el dbf
dbf1.openFile(dbf_filename, readOnly=0)
dbf1.reportOn()

# agregar un registro
reg=DbfRecord(dbf1)
reg['nombre']=nombre
reg['precio']=importe
reg['fecha']=[int(v) for v in fecha.split("-")]
reg.store()

# cierro el archivo
dbf1.close()
$BODY$
LANGUAGE 'plpythonu' VOLATILE;

y despues para usar la función exportar_dbf:

SELECT exportar_dbf('c:/prueba.dbf','Mariano',10.4,'2009-03-02'::date)

Subí más información en:
http://python.com.ar/moin/PlPython
http://python.com.ar/moin/Recetario/DbfPy

No lo pude probar por cuestiones de tiempo, cualquier cosa avisame,

Sds
Mariano

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fabio Arias 2009-03-02 20:26:55 SWITCH CASE PLPGSQL
Previous Message Luis Esteban de Dios Núñez 2009-03-02 17:22:17 OT sobre lista para delphi