SQL Server 数据导出到 MySQL 的一种简单方案
综合网上的各种方案(浪费了我大半天的时间),感觉这种方法是最简单的。
需求工具:
- Microsoft SQL Server Management Studio
- Navicat Premium Lite
-
首先以管理员身份打开并登录 SSMS,在你想要导出数据的数据库名称上单击右键,在弹出的菜单中选择“任务 - 导出数据”:
-
这时会打开“SQL Server 导入和导出向导”,单击“next”:
-
数据源选择“Microsoft OLE DB Provider for SQL Server”,选择要导出数据的数据库,单击“next":
-
这次我们选择导出到 txt 文件,所以目标选择“Flat File Destination”,然后单击浏览输入 txt 的文件名并选择保存的位置,最后在“文本限定符”输入框中使用英文输入法输入双引号 " (单个),这是因为部分表含有字符串字段,所以必须使用限定符避免导入数据软件无法识别的情况:
-
在这个页面,根据你的需求,你可以直接复制数据中表的数据或者通过查询筛选数据,一般情况保留默认选择即可,单击“next”:
-
选择你要导出数据的表,单击“next”:
-
保留默认选项,单击“next”:
-
单击“Finish”,导出过程将立即运行:
-
如无意外,导出将成功完成,详细信息中会显示导出的条数,此时可单击“close”关闭导出向导。
-
打开 Navicat ,在你想要导入数据的表的名称上单击右键,选择“导入向导”:
-
在导入向导中选择“文本文件”:
-
选择刚刚生成的 txt 文件,字符集选择“936 (ANSI/OEM - Simplified Chinese GBK)”:
-
字段分隔符选择逗号:
-
如果你的表有时间类型的数据,为了正确识别,可以在这里调整具体格式:
-
这里保留默认即可:
-
如果配置正确,这里软件就能识别到 txt 文件中的字段,然后在这里选择导入表的目标字段:
-
选择你想要的导入模式:
-
单击开始:
-
如果成功导入,Errors 的数量应该为 0,否则导入失败。这里我选择不更新追加,所以 Added 为 0 。