您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

mssql如何转换到MySQL

2024/4/13 18:16:03发布16次查看
方法一: 1.导表结构 使用mysql生成create脚本的方法。找到生成要导出的脚本,按mysql的语法修改一下到mysql数据库中创建该表的列结构什么的。 2.导表数据 在mssql端使用bcp导出文本文件: bcp select * from dbname.dbo.tablename; queryout tablename.txt -
方法一:
1.导表结构
使用mysql生成create脚本的方法。找到生成要导出的脚本,按mysql的语法修改一下到mysql数据库中创建该表的列结构什么的。
2.导表数据
在mssql端使用bcp导出文本文件:
bcp select * from dbname.dbo.tablename; queryout tablename.txt -c -slocalhostdb2005 -usa
其中中是要导出的sql语句,-c指定使用t进行字段分隔,使用n进行记录分隔,-s指定数据库服务器及实例,-u指定用户名,-p指定密码.
在mysql端使用mysqlimport 导入文本文件到相应表中
mysqlimport -uroot -p databasename /home/test/tablename.txt
其中-u指定用户名,-p指定密码,databasename指定数据库名称,表名与文件名相同。
方法二:
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一节
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product