To perform batch conversion or call conversion procedure from an automation script you can use console version of MSSQL-to-MySQL called M2SAGENT.EXE. Find this file in MSSQL-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:
--as_dbo | connect to MS SQL server as database owner | ||
--charset=... | MySQL character set | ||
--dest=... | MySQL database or dump file name | ||
--dump | convert MS SQL database into dump file | ||
--engine=... | MySQL storage engine (MyISAM, MEMORY, InnoDB, BerkeleyDB, ARCHIVE, FEDERATED, etc). Please 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) | ||
--mssqlh=... | MS SQL server IP address or network name | ||
--mssqlu=... | MS SQL user name | ||
--mssqlp=... | MS SQL user password | ||
--mysqlh=... | MySQL server IP address or network name | ||
--mysqlu=... | MySQL user name | ||
--mysqlp=... | MySQL user password | ||
--owned | convert tables owned by the user only | ||
--port=... | MySQL port | ||
--profile=... | path to the file to load conversion settings from | ||
--silent | use this option to disable program output | ||
--skip_idx | skip converting indexes | ||
--src=... | MS SQL database name | ||
--tab_def | convert table definitions only | ||
--tab_file=... | name of the file containing table names to convert (one table name per line) | ||
--views | convert MS SQL views into MySQL |
In the following example the program converts local MS SQL database "db1" into MySQL database "db1 from mssql" on the remote MySQL server "mysqlhost" using table names file "c:\tabfile1.txt":
M2SAGENT.EXE --src=db1 --dest="db1 from mssql" --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:
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.
Have any questions? Contact us