用DTS将sql2000的数据导入到MySQL中,mysql的ODBC驱动是 3.51的版本,结果导进MySQL的表名全是乱码,
MySQL的数据库字符格式是utf-8的,mysql版本是5.0的,听网上说用 MySQL ODBC 5.1的驱动版本就不会出现乱码,结果我装上之后连基本的数据源都创建不成功,每次都是点击OK后,死机,没反应啦。
  各位大侠,帮帮忙吧~~~

解决方案 »

  1.   

    对了,我的MySQL是绿色免安装的,5.0版本,这个貌似没影响吧
      

  2.   

     将sqlserver database 导入到mysql 解决乱码问题
        工具mysql提供的MySQL Migration Toolkit
    中间碰到的主要问题是,工具在sqlserver中取中文字段时,产生乱码
    步骤:
    1,打开mysql migration toolkit 到了configuraion Type界面,直接next------------------乱码的源头之一------------------------------2,到了Source Database界面,产生乱码的源头之一
    默认工具会用utf-8去取sqlserver里面的数据,而sqlserver里面是gbk,直接
    倒致查询出来的结果己经是乱码,插入mysql就更不用说了,肯定乱码
    解决办法,点击最下面的advanced-->出现advanced Settings-->在connction String:里面
    输入jdbc:jtds:sqlserver://localhost:1433/zg;user=sa;password=sa;charset=gbk;domain=
    把charset=utf-8换成gbk,用户名和密码以及数据库就是自己填啦,接着next-----------------------------------------------------------------3.进入Target Database界面-->填好信息后(这步不用advanced)-->next
    4.进入Connecting to Servers界面,点击advanced可以看到连接到sqlserver里面的信息,
    第二步中的URL就是COPY这里的,只是将charset改了一下.next-->
    5.Source Schemata Selection 界面-->next
    6.Reverse Engineering -->next
    7.ObjectType Selection 这步可以去掉你不想倒入的表,-->next------------------乱码的源头之一------------------------------8.Object Mapping这步也是产生乱码的源头之一,因为它决定了在mysql中创建的数据库的character set,
    点击Migraion of type MSSQL Schema 下面的set parameter,可以看到默认的charset是latin1,在这里选择
    multilanguage,这样创建的database将会是utf8,-->next-----------------------------------------------------------------
    9.Migration界面,-->next
    10.Manual Editing ,-->next
    11.在Object Creation Options界面,你可以选择产生创建database 与table的脚本-->next
    12.Creating Objects,-->next
    13.Creation Results,-->next
    14.Data Mapping Options,-->选择产生insert语句的脚本,--next
    15.Bulk Data Transfer -->next
    16.finish 就OVER了
    中间有两个原因会产生乱码,取sqlserver时,与创建mysql database时,上面己经指出。