A Microsoft Access database conversion tool to convert old and new Access database formats to some other popular SQL based databases and formats
Switch branches/tags
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
nbproject Version 1.1.1 update Jun 5, 2018
src/main/java/com/lytrax/accessconverter Update package name Sep 15, 2018
.gitignore Convert to Maven project Sep 14, 2018
Arguments.txt Initial commit Sep 6, 2017
LICENSE.txt Added LICENSE & README Sep 6, 2017
LogFormat.txt Initial commit Sep 6, 2017
README.md Duplicate removal from README Nov 7, 2018
build.xml Initial commit Sep 6, 2017
manifest.mf Initial commit Sep 6, 2017
pom.xml Update package name Sep 15, 2018

README.md

AccessConverter

A Microsoft Access database conversion tool to convert old and new Access database formats to some other popular SQL based databases and formats. It is built with Jackess, a Java library for reading and writing MS Access databases. It supports Access 97 and all versions 2000-2013.

Online Application

An online application that uses AccessConverter to convert databases can be found here https://lytrax.io/blog/tools/access-converter.

Dependencies

Usage

It is a command line tool and it accepts arguments. The output result on the screen can be either JSON, JSON prettified or normal (human readable) output. It creates a log file for each conversion that contains the conversion result along with all input parameters and conversion errors.

Parameter Accepts Description
--output-result json
json-pretty
normal
The console output format.
Can be JSON, JSON prettified or normal (human readable) output
--access-file "<path>" The input access database file (mdb, accdb)
--log-file "<path>" The output log file
--zip-file "<path>" The output zip archive file that contains the converted file
--output-file "<path>" The output file with the converted data (.json, .sql, .sqlite3, etc.)
--task convert-json
convert-mysql-dump
convert-sqlite
The task to perform.
Convert to JSON or MySQL dump or SQLite
--json-data assoc
array
Either to use associative arrays or simple indexed tables for tha JSON data
-json-columns Add extended columns information for each table
-mysql-drop-tables Add DROP TABLE IF EXISTS for each table
-compress Compress the output file to a zip archive file
-no-log Does not generate a log file
-show-progress Displays progress status (Current table name, records inserted and total progress percentage)

Examples

Convert a .accdb file to JSON

Output file will have the same filename as the access file and it will be saved at the same location

java -jar AccessConverter.jar --access-file "/home/test/somedb.accdb" --task convert-json --json-data assoc -json-columns

Convert a .accdb file to MySQL dump file

Use different files and location for both output and log files. Console output JSON pretty-print result

java -jar AccessConverter.jar --access-file "/home/test/somedb.accdb" --task convert-mysql-dump --output-file "/home/sql/somedb_dump.sql" --log-file "/home/logs/somedb.log" -mysql-drop-tables --output-result json-pretty

Update 24/5/2018 (v1.1)

  • Added SQL code logging on errors
  • Replaces org.apache.commons.lang3.StrBuilder with org.apache.commons.text.TextStringBuilder due to deprecation of the first

Update 29/5/2018 (v1.1.1)

  • Fixed SQLite names conversion by enclosing all names (tables/fields) using the grave accent character "`"
  • Fixed when an INSERT error would break the entire transaction. Now each row is inserted individually
  • Added progress status when using the flag parameter "-show-progress"