Le projet mdb-tools est compatible Linux et donc MacOSX. Il est aussi disponible sous windows via cygwin mais surtout via MSYS2, des outils de développement UNIX sous Windows. On utilise le projet mdbtools-win.
Le jeu de caractère de MS Access est l'ANSI aussi appelé WIN1252, qui est une extension de ISO-8859-1, uniquement compatible Windows. Le portage Windows de MDB TOOLS dans sa version 0.71 produit de l'UTF-8 (compatible Linux/Windows), tandis que sa version 1.0.0 produit de l'ISO-8859-1.
Les scripts *.bat utilisent aussi l'utilitaire fart.exe (Find And Replace Text command line utility) pour faire des corrections dans les scripts SQL produits.
Les scripts *.bat pour la version 0.7.1 utilisent aussi l'utilitaire convertcp.exe (Text File Codepage Converter for the Windows command line) pour transcoder les scripts SQL produits de l'UTF-8 vers ANSI.
Les scripts *.bat pour la version 0.7.1 utilisent aussi l'utilitaire iconv.exe (an abbreviation of internationalization conversion is a command-line program used to convert between different character encodings) pour transcoder les scripts SQL produits de l'UTF-8 vers Windows-1252.
La migration facilitée s'appuie principalement sur deux utilitaires :
- mdb-schema.exe permet, après une analyse du fichier mdb ou accdb, la production d'un fichier de script contenant des ordres SQL de définition de données (CREATE TABLE, ALTER TABLE, CREATE INDEX) compatibles soit pour Access, soit pour Oracle, soit pour MySQL, soit pour PostgreSQL, soit pour Sybase ou soit pour SQLite. Il y a quelques erreurs sur le choix des types de données.
- Le moteur MS Access ne produit pas de COUNTER alors que cette information est clairement prise en compte pour MySQL et PostgreSQL, moteurs fortement améliorés entre la version 0.71 et 1.00.
- Le moteur Oracle est le seul pour la version 0.71 (et non pour la version 1.00) à produire des commentaires de table, de colonnes et à créer des clés étrangères lorsqu'elles ne sont que simples : il n' y a pas de clés étrangères composées... .
- Le moteur ACCESS ne produit pas les
CREATE UNIQUE INDEXalors que le font les moteurs MySQL et Oracle. Rappel : Le SQL Access accepte non seulement la contrainteUNIQUEmais aussi l'ordreCREATE UNIQUE INDEX. Il faut soi-même corriger les typesTEXTdont la longueur est strictement supérieure à 255 enLONGTEXT. De plus, le pilote access ne reconnait pas les autoincrement, il faut remplacer soi-mêmeLONGparCOUNTERquand on est en présence d'une clé primaire simple. Hélas le moteur Access n'a pas été amélioré entre la version 0.71 et 1.00. Il faut compléter le fichier d'origine avec le fichier*_accessfromoracle.sql, produit automatiquement suite à l'invocation des fichiers*.bat, qui contient les contraintes de clé primaire, d'unicité, les index, les contraintes de clé étrangère. De plus des instructions VBA pour les commentaires de table et de colonnes ont été ajoutées dans*_accessfromoracle.sql. Le moteur MySQL, même amélioré dans la version 1.00, ne produit pas les commentaires ni de table, ni de colonne.
- mdb-export.exe permet, après une analyse du fichier mdb ou accdb, la production d'un fichier de script contenant des ordres SQL de manipulation de données (
INSERT INTO ...(...,...,...) VALUES (...,...,...))soit pour Access, soit pour Oracle, soit pour MySQL, soit pour PostgreSQL, soit pour Sybase ou soit pour SQLite. Il y a beaucoup d'options dans la ligne de commande pour utiliser les bons caractères de protection, le bon format pour les date, pour les time, pour les datetime. Le "bon" paramétrage change pour chacun des SGBD. Il faut produire pour chaque table, son jeu de données.
Le référentiel Git du projet mdb-tools incorporait Gnome MDB Viewer (gmdb2), un outil graphique de visualisation de bases de données. Il dispose maintenant de son propre référentiel Git.
MDB Viewer Plus est un visualiseur gratuit pour Windows et un éditeur permettant d'ouvrir les fichiers de bases de données Microsoft Access MDB et ACCDB.
Actualisation : Le téléchargement du portage de la version 1.0.0 des MDB-Tools enrichie de mes fichiers de commandes se trouve sur la page de téléchargement du module VBA pour MS Access ExportFromIBeasy+. En effet, les fichiers de commande font appel à ce module VBA en complément des utilitaires utilisant le moteur Access.
Les utilitaires MDB Tools peuvent être vus comme des producteurs de scripts longs SQL ACCESS (CREATE et INSERT) ou des convertisseurs vers Oracle, MySQL, PostgreSQL et SQLite.
Les scripts CREATE produits peuvent être une entrée :
- de la fonction rétroconception de Looping 4.1 si le SGBD cible est bien configuré avec les caractères de protection, par exemple ;
- de SQL-Interpreter-FR-(v4) pour recréer la base de données MS Access ;
- des clients console ou graphique des SGBDR Oracle, MySQL, PostgreSQL et SQLite pour créer une base de données sur ces serveurs.
Des fichiers *.bat simplifie leur utilisation pour ces objectifs.
téléchargement de l'archive s'appuyant sur les MDB-Tools 0.7.1.
