"Si tú no trabajas por tus sueños, alguien te contratará para que trabajes por los suyos”

Steve Jobs

Afiliado
Dominios3Euros

Dbf (Data Base File) es formato simple para almacenar datos estructurados, utilizado por Dbase, Paradox, Clipper, FoxPro y seguro que nos olvidamos de alguno más.

Por esto, puede que os surja la necesidad de convertir esas tablas en una tabla de mysql, por ello en esta entrada vamos a ver las opciones que utilizamos.

DESDE LA PROPIA CONSOLA DE LINUX:

Desde la propia terminal de linux es bastante sencillo, solo necesitamos dbf2mysql.

Utilizando dfb2mysql, instalando en UBUNTU

sudo apt-get install dbf2mysql

Una vez lo tengamos instalado , solo tenemos que crear la BD en mysql, y luego con la siguiente instruccion:

dbf2mysql -h [SERVIDOR] -U [USUARIO] -P [CONTRASEÑA] -d [BASEDATOS] -t [NOMBRETABAL] -c -f /path/del/fichero/nombrefichero.dbf

No es un proceso rápido y por lo que la duración del proceso puede ser largo ya que depende de los registros y lo pesada que sea la tabla, como referencia os indico que:

" Duro un par de horas el importar una tabla 250.000 registros en servidor local "

Con esto, os digo que toca esperar a que termine el comando en la terminal antes de cerrarlo , ya que sino vuestra tabla puede que no este completa.

Problemas encontrados:

- Algunos atributos que tiene dbf no los tiene en cuenta , como el auto incremento
- Algunos tipos de campos con decimales no los importa correctamente.

Referencias:

-Blog de manel perez
-Github un proyecto con modificaciones dbf2mysql

 Importar dbf con python

Cuando la cosa se nos pone compleja a la hora importar dbf, lo que hacemos es utilizar Python y una librería llamada dbfread, la cual nos permite leer los dbf , luego con un pequeño script podemos tratar los datos leido y añadirlos a donde queramos.

 

Referencias:

Documentacion libreria dbfread.