El lun, 02-03-2009 a las 17:03 -0300, Mariano Reingart escribió:
> 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/

Ya descargue los archivos de la página pero tengo duda en como deben ser
instalados para integrarlos con Postgres.

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

Podrías orientarme sobre como instalar python en Postgres, he visto las
páginas pero solo mencionan que hay que descomprimir en el directorio de
Postgres y no me deja muy claro el lugar ni como integrarlo a Postgres.
Pudieran ayudarme?


--
TIP 3: Si encontraste la respuesta a tu problema, publ�cala, otros te lo 
agradecer�n

Responder a