加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Sqlserver转mysql方法

发布时间:2020-12-12 16:04:53 所属栏目:MsSql教程 来源:网络整理
导读:?利用Navicat的导入向导将sqlserver转换成mysql。 使用前需要本机安装有: Mysql Mysql图形界面——Navicat SQL Server 2005 ODBC 安装mysql Mysql安装时出现错误,到最后一步出现could not start the service mysql error:0。 问题原因是以前装过mysql在卸
?利用Navicat的导入向导将sqlserver转换成mysql。

使用前需要本机安装有:

Mysql

Mysql图形界面——Navicat

SQL Server 2005

ODBC


安装mysql

Mysql安装时出现错误,到最后一步出现could not start the service mysql error:0。

问题原因是以前装过mysql在卸载的时候没有卸干净。

解决方法如下:

1.???????? Win+R输入services.msc查看MySQL服务是否开启,如果开启,则停止,如果没开启则不用动。

2.???????? 进入MySQL安装目录的/bin文件夹,例如我的C:Program FilesMySQLMySQL Server 5.0bin然后使用命令mysqld-nt –remove,提示成功。

3.???????? 继续进入C盘Program Files文件夹,删除掉MySQL文件夹。

这样就删除干净了。
安装mysql图形界面

有一个很友好的mysql图形界面——Navicat,版本随意。
安装ODBC (我的WINdows7自带的有)

Odbc安装包可以到网上去找,下载后安装。

如果要检测odbc是否安装好,可以进入开始——控制面板——管理工具中是否有“数据源(ODBC)”,然后双击它进入,选择驱动程序,看是否有ODBC驱动器。

一般安装好后都有。
导入向导完成转换

1.???????? 在Navicat中新建连接,输入root密码连接到mysql,然后新建数据库;

2.???????? 点击“导入向导”,选择ODBC,进入下一步;

3.???????? 选择导入数据库源,选择“Microsoft OLE DB Provider for SQL Server”,点下一步;

4.???????? 在下拉框中选择本机,选择相应服务器信息和源数据库名,并测试;

5.???????? 测试连接成功后,点确定进入需要转换的表的选择,可以选择全选,甚至可以添加查询,我这里选择dbo.duser作为示例;

连续点击两次下一步,进入表结构调整,注意这里要手动重新设置主键,不然后来会警告——表中没有主键。

6.???????? 点下一步,进入导入模式选择:

7.???????? 点击下一步进入最后阶段,点击开始就可以进行转换了:

这里当数据库中有中文的时候可能会出现失败的情况,我做的时候就出现了这样的情况,点击上图中的日志按钮查看日志:

[2012-03-05 18:25:39] [Msg] Import start

[2012-03-05 18:25:39] [Msg] Import type – ODBC

[2012-03-05 18:25:39] [Msg] Import from – Provider = SQLOLEDB.1; Integrated Security=SSPI; Persist Security Info=False; Initial Catalog=hb; Data Source=WUYANZAN-PC

[2012-03-05 18:25:39] [Msg] Create table [animalLevel]

[2012-03-05 18:25:39] [Msg] Import table [animalLevel]

[2012-03-05 18:25:39] [Err] 1366 - Incorrect string value: 'xE7xBAxA7' for column 'title' at row 1

[2012-03-05 18:25:39] [Err] INSERT INTO `animalLevel` (`id`,`title`) VALUES ('3','SPF级')

[2012-03-05 18:25:39] [Err] 1366 - Incorrect string value: 'xE6x99xAExE9x80x9A...' for column 'title' at row 1

[2012-03-05 18:25:39] [Err] INSERT INTO `animalLevel` (`id`,`title`) VALUES ('1','普通级')

[2012-03-05 18:25:39] [Err] 1366 - Incorrect string value: 'xE6xB8x85xE6xB4x81...' for column 'title' at row 1

[2012-03-05 18:25:39] [Err] INSERT INTO `animalLevel` (`id`,`title`) VALUES ('2','清洁级'),('4','无菌级'),('5','悉生动物')

[2012-03-05 18:25:39] [Msg] Processed:5,Added:0,Updated:0,Deleted:0,Errors:5

[2012-03-05 18:25:39] [Msg] Finished – Unsuccessfully

根据日志显示应该是插入数据时出现乱码,导致插入出错,然后我直接将以上INSERT语句在mysql的图形界面上执行,结果也出现了相同错误,如此可以肯定是Navicat的码制设置有问题,导致对中文的识别出现乱码。因此应该重新设置Navicat属性,我自己摸索后发现,右键点击数据库,选择数据库属性后出现的第一个选项就是字符集的编码设置,根据网上的说法我改成utf-8之后点确定,重新操作一遍,中文问题解决了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读