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