连接DB2的问题–encoding not supported

Driver: com.ibm.db2.jcc.DB2Driver

用Squirrel SQL查看db2的数据结构,填好driver, url, username, password后,点“connect”,出现问题:

com.ibm.db2.jcc.b.DisconnectException: encoding not supported!!

奇怪,怎么会出现这个错误?我以为是SquirrelSQL的问题,运行了一下自己以前写的一个代码生成器,输入相同的参数,发现还是出现这个问题……头痛,以为是通过Console输入的参数编码与通过Java文件输入的编码不一致,索性打开Eclipse, Class.forName,然后getConnection,问题同样。

同事把代码拿去,在WSAD下面重新编译运行,奇怪,没问题;我也在WSAD下面重新编译运行了一次,居然也没有问题。

问题很明显了,是那该死的IBM JDK. 把Squirrel SQL运行的Java_home设置为WSAD的jre_home,问题果然解决,db2数据库结构正常显示在面前。

虽然问题解决,我还是不知道为什么——我也不想知道。记得以前jdom在webshpere上不能正常运行就把我弄得死去活来,这次又耗掉了我1个小时。IBM的jvm真是诡异。

3 Responses to “连接DB2的问题–encoding not supported”

  1. onekey,玩客,顽客 » SQuirreL SQL Client:和好几种数据库打交道的人的利器 Says:

    [...] 如果你的JDK有些问题的话,或者你的winrar不听话的话,好像有时候会有点问题。 [...]

  2. 平平淡淡 Says:

    非常感谢,碰到同样的问题,在困惑之时,是你的文章精准的指明了道路。

  3. werwer Says:

    怎么办?难道非得用IBM的jre?
    我们的客户不答应啊