Perl DBI , soubory .dbf, MySQL

Milan Sorm sorm na pef.mendelu.cz
Úterý Červen 11 00:37:47 CEST 2002


Tue, Apr 09, 2002 ve 03:21:47PM +0200 Petr Zapadlo napsal(a):
# Dobry den
# 
# potreboval bych si udelat importni mustek mezi .dbf a MySQL. Po ocku se divam 
# po perlu a DBI. Ale nejak mi neni jasna podpora DBI pro MySQL, natoz pro dbf.
# Perldoc se o zminovanych variantach moc nerozkecava.
# Delal uz nekdo neco podobneho?
# Nejaky prikladek by nebyl?
# 
# Dekuji a omlouvam se za svou opovazlivost. :-)

necitim v tom zadny problem, DBI je obecne rozhrani, DBD::XBase a DBD::mysql
umozni pristupovat stejnymi funkcemi (SQL) do obou typu databazi.

osobne vam doporucim (mala skryta reklama) dbMan (radeji tu verzi co je na
CPANu - da se najit take pres freshmeat jako dbman v devel vetvi vyvoje). po
spusteni date

help 

a podle nekoho nakonfigurujete dve connection (jedno do XBase a jedno do
mysql) - mate samozrejme jiz predem nainstalovane:

cpan> install DBI
cpan> install DBD::mysql
cpan> install DBD::XBase

(analogicky cpan> d/dbMan/ a cpan> install _to_co_to_naslo)

a pak pomoci use jedno nebo use druhe se prepinate primo mezi temi dvema
databazemi a muzete si delat selecty, inserty updaty apod. v obou. 

kdyz nastavite 

set output format to plain 

a pak delate 

\s(nejaky.csv) select * from neco.dbf

tak ukladate primo csv podobu nejake tabulky

po use do druhe connection muzete prikazem

\csvin(soubor) insert into neco (pol1,pol2,pol3) values (?,?,?)

primo naimportovat ten csv soubor do nejake tabulky atp.

to je ovsem uzivatelske reseni, urcite existuje i programatorske reseni.

doporucuji 0.18 nebo 0.19 verzi dbMana (tu posledni), protoze v ni uz je
opravena podpora cestiny (jinak musite sahnout do modulu
DBIx::dbMan::Extensions::InputCSV (nejak tak) a pridat do konstruktoru
CSV_XS jeste binary => 1 (to byla chybka) nebo mi napiste a ja vam poslu
aktualni snapshot s opravenymi poslednimi bugreporty co jsem na cpan jeste
nestihl dat).

howgh.

--milan




Další informace o konferenci Linux