Entries in 24 October 2011

Volcar un archivo MDB en un fichero SQLite

written by uve

24 October 2011

Esta mañana contaba cómo extraer el esquema y datos de un archivo MS Access y ahora voy a poner un pequeño script que nos permita volcar todo el contenido directamente en una base de datos SQLite:

#!/bin/bash
MDB=fichero_access.mdb
DB=fichero_sqlite.db
TMPFILE=tmp.sql
echo "Extracting the schema"
mdb-schema $MDB > $TMPFILE
sed -e "s/^DROP TABLE\(.*\);/DROP TABLE IF EXISTS\1;/" -e "s/DateTime (.*)/DateTime/" $TMPFILE > schema.sql
echo "Creating SQLite DB"
sqlite3 $DB < schema.sql
echo "Extracting tables"
tables=`mdb-tables $MDB`
echo ""
for table in $tables
do
echo "Table: $table"
mdb-export -I -S $MDB $table > $TMPFILE
echo "PRAGMA journal_mode = MEMORY;" > table_$table.sql
sed -e "s/\(.*\)/\1;/" $TMPFILE >> table_$table.sql
	sqlite3 $DB < table_$table.sql
done
rm -f $TMPFILE

Full entry >>

Extraer el esquema y datos de un archivo MS Access

written by uve

24 October 2011

Hoy me he encontrado con un fichero .mdb del que necesito la información que contiene. Tengo que hacer uso, tanto de la estructura como las tuplas de información que contiene cada una de las tablas.

Tras un rato de buscar, he encontrado MDB Tools. Éstas son un conjunto de herramientas que nos permiten trabajar con estos archivos desde la línea de comandos. Así que he hecho este pequeño scrpit:

#!/bin/bash
DATABASE=archivo_access.mdb
mdb-schema $DATABASE > schema.sql
tables=`mdb-tables $DATABASE`

for table in $tables
do
    mdb-export -I -S $DATABASE $table > table_$table.sql
done

Full entry >>

La teoría es cuando crees saber algo, pero no funciona.
La práctica es cuando algo funciona, pero no sabes por qué.
Los programadores combinan la teoría y la práctica:
Nada funciona y no saben por qué.