我有两个环境
旧环境是:win2000+db2 8 +was 6
新环境是:linux+db29 +was7
db28 的编码是utf-8
db29的编码是gbk
我想用db2move导出老数据库的数据到新的数据库中。请问编码需要如何转换。 还是用export import的方式导入。
谢谢
db2move 默认导出的数据文件格式是 IXF 二进制格式,只管从 老数据库中导出表数据,然后在 DB2 9上的新库创建好所有表后,使用“db2move database load” 就可以了。
你说的字符集转换问题只存在于 导出的数据文件是 del等定界符文本文件的场景,db2move 不涉及,你可以测试看看
收起可以在新数据库中配置注册环境变量参数: DB2CODEPAGE
db2set DB2CODEPAGE=1208,
这个参数表示数据库客户端呈现给数据库的编码类型。配置为1208表示客户端传入的数据为1208(utf-8)编码,如果数据库的编码是GBK。那么数据库会将客户端传入的数据由utf-8转为gbk。
注意:
1、这个配置如果配置为 utf-8,那么无论客户端传的数据是什么编码,都统一认为是 utf-8,如果实际不是utf-8 的数据也会当成 utf-8,这样的话就会出现乱码。
2、如果这个参数配置的编码和数据库的编码不一致,这样在导入数据的时候有过转化编码的过程,这会比较消耗时间。所以如果像你们做迁移的话,只在做迁移的时候配置为utf-8,迁移完成后记得改回和数据库编码一致。
收起