MYSQL Migration Toolkit 数据转移

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"一节。


上面所写是我实际做过的一个简单的migration后总结的,主要目的是检验中文字符在移植后是否正常。

你可能感兴趣的:(sql,mysql,SQL Server,jdbc,sun)