sqlserver 数据 移植 mysql

在sqlserver2000到mysql大家常常会碰到数据导入导出乱码的问题。遇到这个问题的原因就是sqlserver2000和mysql数据库的字符编码格式不一致导致的。我的思路就是保持sqlserver2000和mysql数据库编码一致性后,建立ODBC数据源,利用sqlserver2000的导入导出工具,利用ODBC数据源进行导出。下面是详细操作步骤。

我们知道sqlserver2000不需要设置编码格式,它的编码格式是根据操作系统自动默认的。当然我们也可以更改。
打开企业管理器,右击(local)(Windows NT)属性。选中服务器设置。其中就有默认语言的设置选项。一般我们默认的话,windows又是中文系统的话,编码格式为simplified chinese 。
这种编码格式一般是指gb2312或者gbk。所以,如果要把sqlserver2000的数据导入到mysql中的话,mysql的数据库字符编码格式必须为gb2312或者gbk的编码,否则必定乱码。

我们知道,当数据导入到mysql之后是无法修改字段的字符编码格式了。所以在我们没有导入之前,先创建一个schema,这个schema必须和sqlserver2000中要导出的数据库的名字一致才行。设置字符编码为gbk(gbk兼容gb2312而且可以显示更多中文)。

在保证了两个数据库编码格式一致之后,我们开始创建ODBC数据源,进入系统的管理工具,有一个功能叫ODBC数据源,双击打开菜单,在用户DSN下添加mysql的ODBC driver。可能一些用户找不到mysql的ODBC driver 。没关系。我们进入mysql的官方网站,找到 connector ODBC 的安装包。给出传送门:[url]http://dev.mysql.com/downloads/connector/odbc/[/url]。
下载并安装之后,在这里就可以找到mysql ODBC driver了。选中创建成功之后,在用户数据源的列表这里就会多一条你配置的记录。
[img]http://dl.iteye.com/upload/attachment/499561/741406e7-b490-35f5-8727-b19142df3d7e.png[/img]
现在我们进入sqlserver2000的导入和导出数据。
先选择好数据源—即要从哪里赋值,一般默认即可,还要选择好数据库,你要导出的数据库名字。
[img]http://dl.iteye.com/upload/attachment/499565/a531d592-3c57-366c-b15a-dfe8fab59e19.png[/img]

再选择导入的目的。目的就选择刚才创建的mysql odbc driver。配置好DSN和数据库的用户名和密码。
[img]http://dl.iteye.com/upload/attachment/499563/610d5519-8569-3f8b-91c1-49fe4ca4cc08.png[/img]
下一步选择从源数据库赋值表和视图
下一步,选择你要导出的表和目的地表的名字。我们可以点击目的表,修改名字,点击转换,修改其中导入导出的字段名字和数据类型。再附送一张图。
[img]http://dl.iteye.com/upload/attachment/499567/31a034eb-5bfb-3ade-8d85-5fb70d1abb04.png[/img]
可以立即执行,也可以选择调度。我们这里就是复制整个数据库,不是做数据备转,所以立即执行,点击下一步。最后点击完成即可。
点击完成之后,就会自动给我们复制数据了。当然可能其中一些转换会出错,那是两个数据库的字段类型转换问题,你可以在选择目的表的转换这里修改抓换的字段名和字段类型,以便数据可以完美导出。

导出之后,去mysql看看,是不是中文不乱了呢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值