Re: Conversion de tablas .dbf a postgresql

From: Gunnar Wolf <gwolf(at)gwolf(dot)org>
To: Roberto Tortolero <roberto(dot)tortolero(at)gmail(dot)com>
Cc: Juan Martínez <jeugenio(at)umcervantes(dot)cl>, Neil Peter Braggio <pbraggio(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Conversion de tablas .dbf a postgresql
Date: 2007-06-05 16:45:22
Message-ID: 20070605164521.GD22400@cajita
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Roberto Tortolero dijo [Tue, Jun 05, 2007 at 12:18:13PM -0400]:
> Muchas gracias por las soluciones,pero
>
> 1) Hay tablas que tienen medio millon de registros y cuando trato de
> convertiralas en csv por el excel el programa explota.

Puedes usar el módulo de Perl Spreadsheet::ParseExcel::Simple
(http://search.cpan.org/~tmtm/Spreadsheet-ParseExcel-Simple-1.04/lib/Spreadsheet/ParseExcel/Simple.pm)
con un programita +- así (tomado casi casi tal cual de su documentación):

Asumamos que los registros están en el mismo formato en todas las hojas.

my $dbh = DBI->connect('dbi:Pg:dbname=mibase');
$sth = $dbh->prepare('INSERT INTO tabla (campo1, campo2, campo3)
VALUES (?, ?, ?)');
my $xls = Spreadsheet::ParseExcel::Simple->read('archivo.xls');
while (my $sheet = $xls->sheets) {
while ($sheet->has_data) {
my @data = $sheet->next_row;
$sth->execute(@data);
}
}

> 2) la migracion la estoy haciendo en win32 y el paquete dbf2pg funciona solo
> para linux.

Perl funciona donde quieras ;-)

Saludos,

--
Gunnar Wolf - gwolf(at)gwolf(dot)org - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Oswaldo Hernández 2007-06-05 16:46:43 Re: Conversion de tablas .dbf a postgresql
Previous Message Gabriel Hermes Colina Zambra 2007-06-05 16:43:34 Re: Busqueda de duplicados, con demora. 3 SOLUCIONES OK