Bug #67234 Migration from SQL Server 2008 fails at copytable from FLOAT(53) to DOUBLE
Submitted: 15 Oct 2012 12:14 Modified: 14 Jun 2013 6:27
Reporter: Gerold Gruber Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench: Migration Severity:S3 (Non-critical)
Version:Workbench 5.2.44 CE OS:Windows (7)
Assigned to: CPU Architecture:Any
Tags: double, FLOAT(53), migration

[15 Oct 2012 12:14] Gerold Gruber
Description:
Trying to copy tables with the migration wizard fails if the SQL Server source datatype is FLOAT(53).

The target schema states correctly target type Double but the migration fails.

Log 
Starting...

Prepare information for data copy...

Prepare information for data copy done

Determine number of rows to copy....

Counting number of rows in tables...

wbcopytables.exe --count-only --passwords-from-stdin --odbc-source=DSN=sqlserver;DATABASE=;UID=raumtalk --table-file=c:\users\ggr\appdata\local\temp\tmphxarsw

14:10:05 [INF][      copytable]: --table [MigrationTest]	[dbo].[testdouble]

14:10:05 [INF][      copytable]: --table [MigrationTest]	[dbo].[testfloat]

14:10:05 [INF][      copytable]: --table [MigrationTest]	[dbo].[testfloat2]

14:10:05 [INF][      copytable]: Opening ODBC connection to 'DSN=sqlserver;DATABASE=;UID=raumtalk;PWD=XXX'

14:10:05 [INF][      copytable]: ODBC connection to 'DSN=sqlserver;DATABASE=;UID=raumtalk;PWD=' opened

3 total rows in 3 tables need to be copied:

- [MigrationTest].[dbo].[testdouble]: 1

- [MigrationTest].[dbo].[testfloat]: 1

- [MigrationTest].[dbo].[testfloat2]: 1

Determine number of rows to copy finished

Copy data to target RDBMS....

Migrating data...

wbcopytables.exe --odbc-source=DSN=sqlserver;DATABASE=;UID=raumtalk --target=root@localhost:3306 --progress --passwords-from-stdin --thread-count=2 --table-file=c:\users\ggr\appdata\local\temp\tmpodlz9z

\users\ggr\appdata\local\temp\tmpodlz9z

`dbo`.`testdouble`:Copying 1 columns of 1 rows from table [MigrationTest].[dbo].[testdouble]

ERROR: `dbo`.`testdouble`:Type mismatch fetching field 1 (should be float, was MYSQL_TYPE_DOUBLE)

`dbo`.`testdouble`:Finished copying 0 rows in 0m00s

`dbo`.`testfloat`:Copying 1 columns of 1 rows from table [MigrationTest].[dbo].[testfloat]

ERROR: `dbo`.`testfloat`:Type mismatch fetching field 1 (should be float, was MYSQL_TYPE_DOUBLE)

`dbo`.`testfloat`:Finished copying 0 rows in 0m00s

`dbo`.`testfloat2`:Copying 1 columns of 1 rows from table [MigrationTest].[dbo].[testfloat2]

`dbo`.`testfloat2`:Finished copying 1 rows in 0m00s

10:05 [INF][      copytable]: --table [MigrationTest]	[dbo].[testdouble]	`dbo`	`testdouble`	[Value]

10:05 [INF][      copytable]: --table [MigrationTest]	[dbo].[testfloat]	`dbo`	`testfloat`	[Value]

10:05 [INF][      copytable]: --table [MigrationTest]	[dbo].[testfloat2]	`dbo`	`testfloat2`	[Value]

10:05 [INF][      copytable]: Opening ODBC connection to 'DSN=sqlserver;DATABASE=;UID=raumtalk;PWD=XXX'

10:05 [INF][      copytable]: ODBC connection to 'DSN=sqlserver;DATABASE=;UID=raumtalk;PWD=' opened

10:05 [INF][      copytable]: Connecting to MySQL server at localhost:3306 with user root

10:06 [INF][      copytable]: Connection to MySQL opened

10:07 [INF][      copytable]: Opening ODBC connection to 'DSN=sqlserver;DATABASE=;UID=raumtalk;PWD=XXX'

10:07 [INF][      copytable]: ODBC connection to 'DSN=sqlserver;DATABASE=;UID=raumtalk;PWD=' opened

10:07 [INF][      copytable]: Connecting to MySQL server at localhost:3306 with user root

10:08 [INF][      copytable]: Connection to MySQL opened

Copy helper has finished

Data copy results:

- `dbo`.`testdouble` has FAILED (0 of 1 rows copied)

- `dbo`.`testfloat` has FAILED (0 of 1 rows copied)

- `dbo`.`testfloat2` has succeeded (1 of 1 rows copied)

1 tables of 3 were fully copied

Copy data to target RDBMS finished

Tasks finished with warnings and/or errors, view the logs for details

Finished performing tasks.

How to repeat:
Create Tables in MS SQL Server:

use MigrationTest;
go
CREATE TABLE testfloat
(
	Value FLOAT
);

CREATE TABLE testdouble
(
	Value DOUBLE PRECISION
);

CREATE TABLE testfloat2
(
	Value FLOAT(7)
);

INSERT INTO testfloat (Value) VALUES (1.05);
INSERT INTO testdouble (Value) VALUES (1.05);
INSERT INTO testfloat2 (Value) VALUES (1.05);

Now try to migrate the tables to MySQL using workbench 5.2.44 will fail because of type mismatch.
[15 Oct 2012 12:32] MySQL Verification Team
Thank you for the bug report.
[18 Oct 2012 15:59] MySQL Verification Team
http://bugs.mysql.com/bug.php?id=67288 marked as duplicate of this one.
[28 Oct 2012 15:31] Chris Fox
Same problem migrating from SQL Server 2005
[14 Jan 2013 22:48] Paolo Remonato
Same problem migrating from SQL Server 2012 and MySQL Workbench vers. 5.2.45 CED rev. 10251
[11 Jun 2013 12:13] Simon Attwell
Confirmed issue exists with Workbench 5.2.47CE on Windows 7 migrating from SQL Server 2012 to MySQL 5.1.51
[14 Jun 2013 6:27] Philip Olson
Fixed as of the upcoming MySQL Workbench 6.0.2 public beta release, and here's the changelog entry:

A Database Migration from SQL Server to MySQL could fail if a SQL Server
data type was a FLOAT(n).

Thank you for the bug report.