我之前问过以下问题: DB2 query Unknown column name ERRORCODE=-4460, SQLSTATE=null
从那以后,我们了解到从 db2jcc.jar (UNIVERSAL) 更改 db2jcc4.jar (JCC) 可以解决我们开发环境中的问题。问题是那个不起作用的是较新的。我们不想在没有真正正当理由的情况下倒退我们的司机。但是上面链接中的查询在新驱动中无效的原因我不明白。
我们知道它是那一列......如果我们通过强制一个空白将它从结果中取出,一切正常(除了我们没有得到数据)。该查询在其他环境中运行良好。
我看到一些帖子暗示此错误与结果集元数据 getColumn() 方法在 JDBC3 和 JDBC4 之间不一致有关。但是我们没有在这个查询中做任何在许多其他查询中没有做的特殊事情,至少据我们所知没有。
有谁知道这个查询可能会引发什么?是否有解决此行为的方法...某些设置或解决方法,或者新的驱动程序?
完整的例外:
com.ibm.db2.jcc.a.SqlException:[jcc][10150][10300][4.3.111] 无效参数:未知>列名 FILTER_VALUE_DECODE。ERRORCODE=-4460, SQLSTATE=null at com.ibm.db2.jcc.a.dd.a(dd.java:660) at com.ibm.db2.jcc.a.dd.a(dd.java:60)在 com.ibm.db2.jcc.a.dd.a(dd.java:103) 在 com.ibm.db2.jcc.a.ib.a(ib.java:1674) 在 com.ibm.db2.jcc .a.yl.a(yl.java:1625) 在 com.ibm.db2.jcc.a.yl.getString(yl.java:1468) 在 com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.getString(WSJdbcResultSet .java:2467) 在 org.hibernate.type.StringType.get(StringType.java:41) 在 org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184) 在 org.hibernate.type.NullableType.nullSafeGet( NullableType.java:210) 在 org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.extract(CustomLoader.java:501) 在 org.hibernate.loader。