Import dbf do postgres

Honza Pazdziora adelton na informatics.muni.cz
Pondělí Srpen 16 10:11:40 CEST 1999


V nedeli 15. srpna v noci Karel Volejnik napsal:

> nemate nekdo prosim Vas hotovou nejakou utilitu pro prevod DBF souboru
> do delimitovaneho textoveho souboru ?
> Pokud by to umelo vypsat i strukturu DBF (nazvy a formaty poli) bylo by to fajn.
> A uplne nejlepsi, aby to umelo take prekodovat textova pole (napr. z CP852 do
> 8859-2).
> 
> Sorry, vim ze to je jednoduche napsat (par radku v Perlu :-))), ale jestli to
> je uz hotove (urcite ano, sam jsem neco takoveho kdysi posilal do contribu
> MySQL), napiste prosim, kde.

No, pokud to finalne ma jit do PostgreSQL, tak proc to delat pres CSV
-- nestaci opravdu tech par radku v Perlu (untested)?

	#!/usr/bin/perl -w
	use strict;
	use DBI;
	my $pg = DBI->connect('dbi:Pg:parametry', 'user', 'pwd');
	my $xbase = DBI->connect('dbi:XBase:adresar');
	my $select = $xbase->prepare('select sl1, sl2 from table');
	my $insert = $pg->prepare('insert into table values (?, ?)');
	$select->execute;
	while (my @data = $select->fetchrow_array) {
		$insert->execute(@data);
		}

i kdyz byste si tam samozrejme mel asi prihodit i nejake ty RaiseError
nebo tak.

Jinak s modulem DBD::XBase prichazi i dbfdump, ktery teda negeneruje
korektni CSV, protoze ty hodnoty nequotuje, ale to jiste budete umet
obejit (nebo rozsirit a poslat mi patch), s volbou -i vypise strukturu
toho dbf a na prekodovani je cstocs.

------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
 make vmlinux.exe			-- SGI Visual Workstation Howto
Any spam sent to my email will be rewarded by complaint to your ISP abuse
  team and abuse teams of servers that relayed that message. It works.


Další informace o konferenci Databases