sybase迁移导入到mysql并解决乱码问题

编程开发 / , / at

sybase默认字符是cp850,但是看到程序员用cp936连接的,对sybase不太熟悉,就大致这个环境。起初我用sqldbx把sybase表导出到本地,然后用sql文件导入到mysql,不管用什么方式导入,workbench、命令行等等都测试了,其中也测试了workbench的migration,都是提示失败,根据提示内容,看来像编码问题,但是本地文件用UE打开却是正常显示中文的,我的MYSQL是UTF8字符,蛋疼。。。
后来改用DBARTISAN,发现真是强大,一切问题都解决了!从sybase可视化数据库迁移到mysql,相当容易,具体操作记录如下:
0、DBARTISAN的客户端字符集设为cp936;
1、首先在DBARTISAN上打开连接SYBASE和MYSQL数据库;
2、UTILITIES – SCHEMA MIGRATION,之后按向导操作,选择需要源数据库和目标数据库,以及需要迁移的表;
3、需要注意的设置,在script option里file encoding里选择和目标数据库一致的编码,比如我的就是选择UTF8 NO BOM。
4、程序会自动显示迁移进度。
————————–
也可以用DBeaver,更方便,新建MYSQL连接,MYSQL数据库需要配置默认字符集为UTF8;
新建SYBASE连接,驱动属性(driver properties)里填入字符集cp936,确保DBeaver打开不会乱码。
直接在数据迁移时导出到目标数据库即可。
————————–
也可以采用sqldbx把数据表导出sql文件,批量替换成能插入mysql的格式,再导入到mysql,这里需要注意的是,导出的sql文件格式编码要和目标数据库的编码一致,如不一致,需要先转换一下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注