百度空间 | 百度首页 
 
查看文章
 
UTF-8格式的MySql数据库导出数据至SqlServer2005
2009-05-18 08:55
我公司原中文网站后台所使用的是MYSQL数据库,编码格式为UTF-8。新中文网站后台所使用的数据库是SQLServer2005,字符集为GB18030。如果直接转换将导致乱码(虽然该字段类型为utext)。


直接通过MySql的ODBC转进SqlServer2005后,其中的文本内容全是“?”


虽然该字段的文本类型已经被自动转为了ntext类型,但是不起作用。

虽然可以通过程序来依次读出内容并更改字符集,但是我们可以使用更为简便的方法。那就是Navicat转Access转SqlServer。

打开Navical,我所使用的是8.0.22版本。连接数据库并展开,在要导出的表上面右击(可以对所有表导出,也可以对某个表导出)。选择“Export Wizard”。

右击“表”选择“Export Wizard”

选择MDB类型

选择要导出的表,然后选择导出的mdb文件保存的位置。

还可以通过“All Fields”选项来控制要导出的列。

然后一路“Next”下去,点击“Start”导出为mdb文件。
然后我们使用Access打开mdb文件并转换sqlserver(使用access2007)

打开后的数据库文件,可以看到已经没有乱码了。

下一步就要展现access2007的强大功能了。

如图所示,选择“数据库工具”->“移动数据”->“SQL Server”

不论是选择“使用现有数据库”还是“新建数据库”,都需要先设置好SQLServer的ODBC连接。

然后一路“下一步”

导出完毕后,access会给出一个升迁报告。
介个时候我们再打开SQLServer中的表,就可以看到正常的代码了。

如果mysql和mssql所使用的字符集一致的话,那么通过access的导入外部数据可导入mysql的数据,然后再通过“升迁向导”将数据导入到sqlserver里面去。这样就省却了navical导出的这一步骤。但是多了建立mysql的odbc的步骤......

总结如下:如果mysql的数据导入到access里面不是乱码的话,那么access导出到sqlserver里面也不会是乱码。

类别:学习 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu