Description:
When migrating a database from a local copy of MSSQL Express via ODBC to a MySQL server, if a table with a float data type greater than 'float(23)' is migrated, the resulting MySQL data type of 'double' is used to create the corresponding table, but when the bulk data is transferred, the miration log reports a mismatched datatype and fails:
`MigTest`.`migTable`:Copying 2 columns of 2 rows from table [MigTest].[dbo].[migTable]
ERROR: `MigTest`.`migTable`:Type mismatch fetching field 1 (should be float, was MYSQL_TYPE_DOUBLE)
`MigTest`.`migTable`:Finished copying 0 rows in 0m00s
----- Developer Notes -----
MySQL Workbench CE for Windows version 5.2.44 revision 9933
Configuration Directory: C:\Users\emo\AppData\Roaming\MySQL\Workbench
Data Directory: C:\Program Files (x86)\MySQL\MySQL Workbench 5.2 CE
Cairo Version: 1.8.8
OS: Microsoft Windows 7 Service Pack 1 (build 7601), 64-bit
CPU: 8x Intel(R) Core(TM) i7 CPU 930 @ 2.80GHz, 8.0 GiB RAM
Active video adapter (0): NVIDIA GeForce 8400GS
Installed video RAM: 512 MB
Current video mode: 1280 x 1024 x 4294967296 colors
Used bit depth: 32
Driver version: 8.17.12.9610
Installed display drivers: nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um
Current user language: English (United States)
How to repeat:
Using Microsoft SQL Express (free download from Microsoft - MS SQL Server Management Studio), create a test database 'MigTest'. Create a table 'migTable' with a single field named 'bigFloat' with data type 'float'. Insert a large value into the field, such as '1.33540404993619E+17'.
Create an ODBC instance to allow access to the MSSQL database.
Using MySQL Workbench, use the Migration tool, using the ODBC as the source, and an available MySQL server as the destination. Proceed to use the default settings to attempt to migrate the data.
Migration will fail with a "Type mismatch" error during the bulk data transfer step.