Skip to content

Latest commit

 

History

History
59 lines (44 loc) · 3.94 KB

README.md

File metadata and controls

59 lines (44 loc) · 3.94 KB

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"