映射 MySQL 和 SQL Server 数据类型 (MySQLToSQL)
MySQL 数据库类型不同于 SQL Server 或 Azure SQL 数据库类型。 在将 MySQL 数据库对象转换为 SQL Server 或 SQL Azure 对象时,必须指定如何将数据类型从 MySQL 映射到 SQL Server 或 SQL Azure。 可以接受默认数据类型映射,也可以自定义映射,如以下过程所示。
默认映射
SSMA 具有一组默认的数据类型映射。 有关默认映射的列表,请参阅项目设置(类型映射)(MySQLToSQL)。
类型映射继承
可以在项目级别、对象类别级别(如所有存储过程)或对象级别自定义类型映射。 除非在较低级别重写,否则设置继承自较高级别。 例如,如果在项目级别将 smallint 映射到 int,项目中的所有对象都将使用此映射,除非在对象或类别级别自定义映射。
在 SSMA 中查看“类型映射”选项卡时,背景采用颜色编码来显示继承的类型映射。 对于任何继承的类型映射,类型映射的背景为黄色;对于当前级别指定的任何映射,类型映射的背景为白色。
自定义数据类型映射
要映射数据类型:
以下过程演示如何在项目、数据库或数据库对象级别映射数据类型。
要自定义整个项目的数据类型映射,请打开“项目设置”对话框。 在“工具”菜单中,选择“项目设置”。
在左侧窗格中,选择“类型映射”。 类型映射图表和按钮显示在右侧窗格中。
要在数据库或表级别自定义数据类型映射,请在 MySQL 元数据资源管理器中选择数据库或表。 在 MySQL 元数据资源管理器中,选择要自定义的文件夹或对象。
在右侧窗格中,单击“类型映射”。
要添加新映射,请执行以下操作:
在“类型映射”窗格中,单击“添加”。
在“新建类型映射”对话框中的“源类型”下,选择要映射的 MySQL 数据类型。
如果类型需要长度,请通过选中“自”和“到”复选框来指定映射的最小值和最大数据长度,然后输入值。
如此就可以为相同数据类型的较小值和较大值自定义数据映射。 在“目标类型”下,选择目标 SQL Server 或 SQL Azure 数据类型。
某些类型需要目标数据类型长度。 如果需要,请在“替换为”框中输入新的数据长度,然后单击“确定”。
某些类型需要目标数据类型“精度”和“缩放”。 如果需要,请在“替换为”框中输入新的精度和缩放,然后单击“确定”。
要编辑类型映射,请执行以下操作:
在“类型映射”窗格中,单击“编辑”。
在“类型映射列表”对话框中的“源类型”下,选择要映射的 MySQL 数据类型。
如果类型需要长度,请通过选中“自”和“到”复选框来指定映射的最小值和最大数据长度,然后输入值。
如此就可以为相同数据类型的较小值和较大值自定义数据映射。 在“目标类型”下,选择目标 SQL Server 或 SQL Azure 数据类型。
某些类型需要目标数据类型长度。 如果需要,请在“替换为”框中输入新的数据长度,然后单击“确定”。
某些类型需要目标数据类型“精度”和“缩放”。 如果需要,请在“替换为”框中输入新的精度和缩放,然后单击“确定”。
要删除数据类型映射,请执行以下操作:
在“类型映射”窗格中,在类型映射列表中选择包含了要删除的数据类型映射的行。
单击“删除”。
下一步
迁移过程的下一步是“创建评估报告”或将 MySQL 数据库对象转换为 SQL Server 或 SQL Azure 语法。 如果创建报告,则评估期间会自动转换 MySQL 对象。