Je bent hier: ITFAQ.nl » Webdevelopment » Access-database converteren naar MySQL met Windows 10 WSL of Linux

Access-database converteren naar MySQL met Windows 10 WSL of Linux

Bij Vevida hebben wij Access-databases deprecated verklaard. Dat wil zeggen, je kunt dit databasetype nog gebruiken, maar het gebruik ervan raden wij sterk af. Dat doen wij al jaren, maar nu nog meer. Op Windows Server 2019 Core zijn de verschillende OLEDB- en ODBC-drivers instabieler gebleken: websites met een Access-database vertonen meer fouten, haperingen en verstoringen. In dit artikel laat ik je zien hoe je een Access-database converteert naar MySQL in Windows 10 WSL.

De afgelopen dagen heb ik twee uitgebreide FAQ-artikelen geschreven, die in totaal vier manieren beschrijven om een Access-database te converteren naar Microsoft SQL Server (3 stuks) en Access naar MySQL (1 artikel).

Eén methode om een Access-database om te zetten naar MySQL die ik niet heb beschreven wil ik je niet onthouden, en dat is door middel van Windows 10 WSL of in Linux Bash: Semi-automatisch Access exporteren naar MySQL met mdbtools. Waarom? Omdat het kan. :)

Benodigheden om in Windows 10 WSL een Access-database naar MySQL om te zetten

Of je nu een pure Linux, of Windows 10 Windows Subsystem for Linux (WSL) gebruikt maakt voor de scope van dit artikel niet uit. Je hebt het volgende package nodig (uitgaande van Ubuntu op Windows 10 WSL):

Package: mdbtools Version: 0.7.1-6 Priority: optional Section: universe/utils Origin: Ubuntu Maintainer: Ubuntu Developers ubuntu-devel-discuss@lists.ubuntu.com Original-Maintainer: Jean-Michel Vourgère nirgal@debian.org Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 174 kB Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.12.0), libmdb2 (>= 0.7~rc1), libmdbsql2 (>= 0.5.99.0.6pre1.0.20051109), libreadline7 (>= 6.0) Suggests: bash-completion, mdbtools-doc Homepage: https://github.com/brianb/mdbtools Download-Size: 39.5 kB APT-Manual-Installed: yes APT-Sources: http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages Description: JET / MS Access database (MDB) tools These are various tools for manipulating JET / MS Access database (MDB) files: * utils - provides command line utilities to list tables, export schema, and data, show file versions, and other useful stuff. * mdb-sql - a command line SQL tool that allows one to type SQL queries and get results.
Code language: Bash (bash)

Hierna kun je mdb-tables gebruiken voor het dumpen van alle tabelnamen in jouw Access-database. De opdrachten mdb-schema en mdb-export gebruik je om deze tabellen te exporteren naar een .sql-bestand met MySQL indeling.

Bash-script om een Access-database te exporteren naar MySQL

Op StackOverflow vind je een kort Bash-shellscript dat dit voor je automatiseert:

#!/bin/bash TABLES=$(mdb-tables -1 $1) for t in $TABLES do echo "DROP TABLE IF EXISTS $t;" done mdb-schema $1 mysql for t in $TABLES do mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t done
Code language: Bash (bash)

Je kunt dit script gebruiken om een Access-database op te slaan in een .sql-bestand, om later zelf te importeren in MySQL. Of je kunt het rechtstreeks in MySQL importeren door het commando naar mysql te pipen:

sh ./save_to_mysql.sh dev/database_turorials/test.accdb | mysql -h mysql.example.nl -u examplenl2 -p --database=examplenl2 sh ./save_to_mysql.sh dev/database_turorials/test.mdb > testmdb.sql
Code language: Bash (bash)

Doe er je voordeel mee :-)

Geef een reactie