dBase import do MySQL

Zdjęcie z Wikimedia Commons

Ostatnio musiałem zaimportować do serwera MySQL pewną bazę danych stworzoną za pomocą Clipper'a.
Po pobierznym przejrzeniu sieci natknąłem się na służący do tego skrypt, jednak nie spełniał on moich oczekiwań.
Rozwiązaniem okazało się doinstalowanie pakietu dbf2mysql za pomocą komendy:

apt-get install dbf2mysql

oczywiście, z poziomu root'a.

Następnie poprawiłem skrypt tak, aby importował mi wszystkie tabele (pliki) dBaseIII i obecnie przedstawia się on następująco:



#! /bin/bash

dateb=$(date "+%d.%m.%Y")

echo "DBF Export "$dateb;

## Przejdz do katalogu z plikami DBF

cd /lokalizacja_bazy/

for i in *.dbf
do
dbf_file=$(find /lokalizacja_bazy/ -maxdepth 1 -iname $i);

if([ "$dbf_file" != "" ] && [ -f $dbf_file ]);

then

dbf2mysql -h localhost -q -d nazwa_docelowej_bazy -t ${i:0:(${#i}-4)} -c -U uzytkownik_mysql -P haslo_mysql $dbf_file
fi
echo $dbf_file;

done



W skrypcie oczywiście musimy podmienić ścieżki do plików oraz podać nazwę użytkownika i hasło do serwera MySQL.