今天把一个MSSQL的数据库转成MYSQL,在没有转换工具的情况下,对于字段不多的数据表我用了如下手功转换的方法,还算方便。MSSQL使用企业管理器操作,MYSQL用phpmyadmin操作。
1.用MSSQL企业管理器,打开表的结构(设计表),本地用phpmyadmin根据结构一个一个创建,同时优化了一下表数据字段,表创建完成。
2.用企业管理器导出单表,导入源选择文本,分隔符选择;,原为’,’,因phpmyadmin默认的是;,所以这里选择;。导出一个文本文件。
3.用phpmyadmin单表导入功能,选择下面的 CSV 使用 LOAD DATA,就可以将表内容导入了。
完成!
如 果字段比较多,或者记录很多,那么这种方法就不适用了,就需要借助于软件来帮忙。目前,据enjoy所知,有两款比较好的软件可以把MSSQL转换成 MYSQL。一个是DBConvert for MSSQL & MySQL ,可以双向转换,十多M。一个是MSSQL to MySQL,很小巧,压缩包才1M多。它可以指定一个库的哪些表导成sql,也可以直接导进MYSQL,挺好用的。
我使用了MSSQL to MySQL将一个MSSQL库改存为sql,在实际操作中发现了如下两个问题。
1.建表问题。生成的建表sql指定的是ENGINE=INNODB,我用的是MYISAM类型,gbk编码,就改成了:ENGINE=MYISAM DEFAULT CHARSET = GBK,
2.编码问题。我的数据库是gbk编码,在导入时就加了–default-character-set=gbk的选项,这样中文就能正常显示了。
mysql –default-character-set=gbk -D DBNAME < E:\hx\9enjoy.txt -uroot -p