最近一段时间经常有人问起我db2codepage相关的一个问题:
用户有多个数据库,服务器端数据库代码页CODEPAGE设置的不一样,常见的设置是819,1252,1208,1386等.
客户端连接服务器数据库经常报代码页转换错误 ,大致错误信息格式:
SQL0332N 不支持从源代码页 "1252" 到目标代码页 "1386" 的字符转换。
SQLSTATE=57017
临时解决方法是:
在客户端,开启DB2命令窗口并执行以下命令后再重新进行连接
db2set db2codepage=1252
db2 terminate
因为目标数据库代码页很多种,这样需要经常设置db2codepage进行切换.
即使这样,如果不是使用命令行处理器,而是使用db2cc的话,中文显示还是不正常。
根本原因分析:
DB2要求源代码页与目标代码页是彼此兼容的。在上述例子中,源代码页为1252,目标代码页为1386,两者并不兼容才导致了数据库连接失败.
long term solution:其实最重要的是我们创建数据库选择代码页有问题,如果我们服务器端创建数据库的时候,能设置codepage 为1208的话(UTF-8),就不会出现上述问题了.
转载自:http://ahuango.iteye.com/blog/555065
经常用DB2 CLI 连接数据库时遇到这样的错误,每次都是网上现查,这次决定把查到的方法记在这里。 具体错误是这样的:
SQL0332N 不支持从源代码页 "819" 到目标代码页 "1386" 的字符转换。SQLSTATE=57017
因为要连接的数据库的编码"819"与本地客户端环境使用的编码"1386"不能进行转换,即不能在GBK和ISO-8859-1之间进行转换。
要解决此方法可以使用如下命令:
DB2SET
DB2CODEPAGE=819
DB2
TERMINATE
DB2STOP
FORCE
DB2START
http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.msg.doc/doc/sql0332.htm
SQL0332N
不支持从源代码页 源代码页 到目标代码页 目标代