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
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 |