Home > Documentation > MS Access to MySQL

Command line version of MS Access to MySQL converter

To perform batch conversion or call conversion procedure from an automation script you can use console version of Access-to-MySQL called A2SAGENT.EXE. Find this file in Access-to-MySQL installation folder. You can either run this tool directly from command line or call it from any script as well. The program supports the following command-line options:

--accp=...   MS Access database password
--charset=...   MySQL character set
--dest=...   MySQL database or dump file name
--dump   convert MS Access database into MySQL dump file
--engine=...   MySQL storage engine (MyISAM, MEMORY, InnoDB, BerkeleyDB, ARCHIVE, FEDERATED, etc). Refer to MySQL documentation for the further information.
--help   display help message and exit
--logfile=...   path to the logfile where execution traces will be written
--mode=...   how to process an existing MySQL database (0 - overwrite the entire database, 1 - overwrite existing tables only, 2 - skip existing tables, 3 - merge, 4 - synchronize)
--mysqlh=...   MySQL server IP address or network name
--mysqlu=...   MySQL user name
--mysqlp=...   MySQL user password
--port=...   MySQL port
--profile=...   path to a profile to load conversion settings from
--queries   convert MS Access queries into MySQL views
--silent   use this option to disable program output
--skip_idx   skip converting indexes
--src=...   MS Access database name
--sysdb=...   path to MS Access workgroup information file (*.mdw)
--tab_def   convert table definitions only
--tab_file=...   file containing table names to convert (one table name per line)
--uglu=...   user name for MS Access user-level security
--uglp=...   password for MS Access user-level security

In the following example the program converts MS Access database "c:\my reports.mdb" into MySQL database "my reports" on the remote MySQL server "mysqlhost" using table names file "c:\tabfile1.txt":

A2SAGENT.EXE --src="c:\my reports.mdb" --dest="my reports" --mysqlh=mysqlhost --mysqlu=administrator 
--mysqlp=the_passsword --tab_file=c:\tabfile1.txt

Table names file should be formatted as follows:

Table_1
Table_2
...
Table_N

Notes:

  1. If you specified a profile, there is no need to specify any other parameters
  2. You can omit 'mysqlh' parameter to connect local MySQL server
  3. You should omit 'sysdb', 'uglu' and 'uglp' parameters if not use MS Access user-level security
  4. It is necessary to specify 'port' parameter only if it differs from the default MySQL port 3306
  5. If you omit 'tab_file' parameter, all database tables will be converted
  6. If you omit 'mode' parameter, default mode 'overwrite the entire database' will be used
  7. Command line parameters that contain spaces should be enclosed in quotes (for example --dest="my database")

MySQL character sets

This parameter specifies correct encoding of text values in the destination MySQL database. It can have one of the following values:

value   Description     value   Description
big5   Big5 Traditional Chinese     dec8   DEC West European
cp850   DOS West European     hp8   HP West European
koi8r   KOI8-R Relcom Russian     latin1   cp1252 West European
latin2   ISO 8859-2 Central European     swe7   7bit Swedish
ascii   US ASCII     ujis   EUC-JP Japanese
sjis   Shift-JIS Japanese     hebrew   ISO 8859-8 Hebrew
tis620   TIS620 Thai     euckr   EUC-KR Korean
koi8u   KOI8-U Ukrainian     gb2312   GB2312 Simplified Chinese
greek   ISO 8859-7 Greek     cp1250   Windows Central European
gbk   GBK Simplified Chinese     latin5   ISO 8859-9 Turkish
armscii8   ARMSCII-8 Armenian     utf8   UTF-8 Unicode
ucs2   UCS-2 Unicode     cp866   DOS Russian
keybcs2   DOS Kamenicky Czech-Slovak     macce   Mac Central European
macroman   Mac West European     cp852   DOS Central European
latin7   ISO 8859-13 Baltic     cp1251   Windows Cyrillic
cp1256   Windows Arabic     cp1257   Windows Baltic
binary   Binary pseudo charset     geostd8   GEOSTD8 Georgian
cp932   SJIS for Windows Japanese     eucjpms   UJIS for Windows Japanese

Please refer to MySQL documentation to better understand the concept of character sets and collations.