DB2客户端连接数据

不管是JDBC还是ODBC,凡是客户端连接数据库,报错:“SQL0332N” 没有从源代码页“819”至目标代码页“1386”的转换。

出现错误原因:客户端编码和数据库服务器端编码不一致的原因.

编码说明:UTF-8:819,GBK:1386,ISO8859-1:?(没找到具体多少)。

参考http://database.51cto.com/art/201011/232454.htm:内容如下

Db2codepage:即db2数据库的编码方式

db2codepage=1386(简体中文)一个数据库一旦建立,他的代码页就没有办法改,db2set   DB2CODEPAGE=1386只能改变代码页环境,不能改变数据库的代码页。

解决方法:1.建数据库时,设置数据库编码为GBK(1386),统一客户端和服务端的编码格式。因为一般客户端的编码都为GBK简体中文。使用ODBC连接,客户端肯定是window机器。window机器编码,默认使用GBK。

这种方法:不需要更改客户端和服务端的编码,即可解决问题。

2.方法二:“SQL0332N” 没有从源代码页“819”至目标代码页“1386”的转换。出现这个错是,可以这样改,要么把客户端改成和服务端一致的编码(服务端不要修改)。要么,把客户端改为819,服务端改为1386.

实现命令:

1.db2set db2codepage=819

2.db2 terminate (命令立即生效)

注意:DB2客户端执行:开始菜单-》程序-》IBM DB2-》命令行工具-》命令窗口中执行上面命令。

DB2服务端,连接到服务上,直接执行上面两条命令即可。如不生效,可以使用db2stop force和db2start重启服务。

最好注意:在用客户端机器上,切勿安装DB2数据库服务器,只能安装DB2客户端才能正常连接上。如果有,请卸载后,使用DB2客户端连接测试JDBC和ODBC。因为使用ODBCl连接DB2时,就出现了上面的问题,卸载后就OK了。

 

 

猜你喜欢

转载自sd-zf.iteye.com/blog/2019798