sql server的数据如何导入到mysql数据库中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server的数据如何导入到mysql数据库中?相关的知识,希望对你有一定的参考价值。

有多种方法啊。介绍其中一种,使用mysql数据库的odbc驱动。步骤:
1.安装mysql数据库的odbc驱动,mysql-connector-odbc-3.51.23-win32.msi(其中*是版本号),下载并安装。
2.在mysql中创建数据库实例。
3.打开控制面板
-->
管理工具
-->
数据源odbc,在用户dsn中添加一个mysql
odbc
3.51数据源。
4.在登录login选项卡中输入数据源名称data
source
name,此处输入mysqldns(也可以自己随便命名,只要在后面导入数据的时候选择正确的数据源名字就行);然后输入服务器server,用户user,密码password,输入正确后选择要导入的数据库,database选择你需要导入的数据库。在连接选项connect
options中根据需要设置mysql使用的端口port和字符集character
set。
注:字符集一定要和mysql服务器相对应,如果mysql使用了gbk字符集,则一定要设置字符集为gbk,否则导入到sql
server可能会出现问号乱码。
5.打开sql
server企业管理器,选择该数据库,单击右键选择所有任务
-->
导出数据。
6.‘选择数据源’为默认,‘选择目的’为刚刚安装的mysql数据源,用户/系统dsn为mysqldns。在‘指定表复制或查询’中选择‘从源数据库复制表和视图’,在‘选择源表和视图’里,选择需要导入的表,即可将数据从mssqlserver数据库导入到mysql数据库中。
参考技术A mysql和sqlserver存在语法差异,直接导sql是不行的,不过可以通过sqlserver的bcp命令把
表里的数据导成指定格式的txt文件,比如列之间用逗号分割,行之间用\n\r分割
这样的数据,mysql
就可以通过
load
data
infile命令来导入到库里
因为sqlserver
不熟悉,所以bcp命令需要你自己研究下,
mysql的
load
data语法你可以参考:
load
data
infile
'/tmp/result.text'
into
table
test_table
fields
terminated
by
','
lines
terminated
by
'\n'
;
意思是字段之间用逗号分割,行之间用\n分割,数据文件是result.text

mysql 数据库如何转换到 sql sever的数据库格式

过程详细点

MYSQL Migration Toolkit 应该是可以用的。
1、把MySQL Migration Toolkit安装在运行有MS SQL server的机器上;
2、此机器还需要安装java环境和jdbc驱动:
java环境去sun网站上下载,jdbc驱动去MySQL网站上下载(mysql-connector-java-5.0.5.zip),并且设置好路径的环境变量;
3、如果你原来的数据库里有中文字符,必须显式设置几个有关字符集的地方:
A. Source Database 选择Database System为MS SQL:
这里需要手动写jdbc连接串:点击界面下方的Advanced键,出现一个方框,提示输入 "Connection String:",在这里输入如下格式:
jdbc:jtds:sqlserver://IP:PORT/YOURDB_NAME;user=USER;password=PASSWD;charset=gb2312(or gbk);domain=

其中,大写 IP, PORT, YOURDB_NAME,USER, PASSWD都是要用实际MS SQL Server服务器的ip和端口,数据库名,数据库用户名,密码填写;

B. Target Database 同样需要手动编辑jdbc连接串:
点击界面下方的Advanced键,出现一个方框,提示输入"Connection String:"
在这里输入如下格式:

jdbc:mysql://IP:3306/?user=USER&password=PASSWD&useServerPrepStmts=false&characterEncoding=gbk

其中,大写 IP, USER, PASSWD都是要用实际MySQL服务器的ip,数据库用户名,密码填写

C. 选择sql server的schema和表
D. Object Mapping
修改"Migration of type MSSQL Table":
点击"Set Parameter",选择"User defined", 设置"charset=gb2312(or gbk), collation=gb2312(or gbk)_chinese_ci"
E. 之后没有别的选项,一直到最后
F. 移植完以后,用图形工具(MySQL query browser、SQLyog等)或用mysql客户端(命令行)联接,都可以看到中文。
在客户端(命令行),先执行
mysql> set names gb2312(or gbk);
4、由于MS SQL server和MySQL在语法格式和数据类型定义等方面有一定的差异,所以移植过程不是很简单,可能需要反复几次,修正语法格式和数据类型定义。MySQL Migration toolkit可以让用户手动修改生成的MySQL SQL语句,在其中的"Manual Editing"一节
参考技术A 可以转换为mysql数据库脚本,然后在sql server中再执行

以上是关于sql server的数据如何导入到mysql数据库中?的主要内容,如果未能解决你的问题,请参考以下文章

sql server的数据如何导入到mysql数据库中?

将 Sql Server 2008 数据库导入/导出到 MySQL

如何把sqlserver数据迁移到mysql数据库及需要注意事项

将Sql Server中的数据导入到Mysql数据库中

sql server怎么导入数据库

MySQL--将MySQL数据导入到SQL Server