概述
把MySQL的数据迁移到SQL Server有很多种方法,有第三方工具可以实现这个功能,如阿里云的DTS,ESF Database Migration等。许多人希望使用 SQL Server Integration Services (SSIS)来实现这个过程,本文就分享一下,如何利用SSIS从 MySQL导入数据 到 SQL Server 数据库。
MySQL先决条件
必须事先安装以下软件
- MySQL 数据库。
- 已 安装MySQL 连接器,这将安装 MySQL ODBC 驱动程序。
让我们在 MySQL 中创建一个名为 myTable 的表,其中包含一个名为 myColumn 的列,然后在表中插入一些数据:
use MySQL;
create table myTable(myColumn varchar(20));
insert into myTable(myColumn) values("John");
insert into myTable(myColumn) values("Jane");
insert into myTable(myColumn) values("Arnold");
insert into myTable(myColumn) values("Jessica");
解决方案
1、启动 SQL Server Business Intelligence Development Studio 并启动一个集成服务项目。
2、创建一个新项目并选择集成服务项目。
3、在工具箱中,将数据流任务拖放到控制流选项卡的设计图面上。
4、双击设计窗格中的数据流任务。
5、在 Data Flow 选项卡中,将 ADO.NET Source 和 ADO.NET Destination 拖放到设计窗格中,用绿色箭头连接这两个任务。
6、转到 Windows 开始菜单 | 管理工具 | 数据源 (ODBC),然后单击添加按钮。
7、选择 MySQL ODBC 驱动程序并按完成。请注意,此驱动程序是使用上面先决条件部分中指定的连接器安装的。
8、指定数据源名称。例如“MySQL conn”。
9、指定 TCP/IP 服务器。如果使用的机器是本地机器,它可以是 IP 或 localhost。
10、指定用户,在本例中为 root 和密码。如果您不知道用户数据库密码,请咨询 MySQL 管理员)。
11、选择 MySQL 数据库。
12、恭喜!您有一个 ODBC 连接。现在让我们在 SSIS 中使用它并返回 SSIS 项目。
13、双击 ADO Net Source 并按下新按钮。
14、再次按新按钮以添加连接。
15、这很重要,在提供程序中,选择 .NET Providers\ODBC Data Provider。将显示 ODBC 连接。选择在步骤 8 中创建的连接,然后按 OK。
16、在 ADO.NET 源代码编辑器中,在数据访问模式下,选择 SQL 命令。 17、在 SQL 命令测试中,写入“select * from myTable”,然后按 OK。在这一步中,您将编写查询以访问在开始时创建的 MySQL 表。
18、双击 ADO.NET 目标任务并在连接管理器中按新建。
19、在配置 ADO.NET 连接管理器中,再次按新建。
20、在连接管理器中指定 SQL Server 实例名称(在此示例中,localhost 是一个点)并选择一个您想要导入 MySQL 数据库的数据库,然后按 OK。在此示例中使用 Adventureworks 数据库,但也可以使用任何数据库。
21、在 ADO.NET 目标编辑器中,单击使用表或视图选项中的新建。
22、在 Create Table 框中,使用以下代码:
create table myTable( myColumn nvarchar(20))
23、在 ADO.NET Destination Editor 中,单击 Mapping 页面并按 OK。
24、我们准备好了。按开始调试图标,如下所示。
25、您将看到绿色的任务,这意味着任务已成功完成并具有相关的行数。
26、最后但同样重要的是,打开 Microsoft SQL Server Management Studio 并在使用的实例和数据库中验证新表 myTable 是否已创建,并且它是否包含指定的数据。