我以前提出以下問題: DB2 query Unknown column name ERRORCODE=-4460, SQLSTATE=nulldb2jcc4.jar無效參數:未知列名
後來,我們瞭解到,從db2jcc4.jar從文件db2jcc.jar(UNIVERSAL)改變(JCC)解決了這個問題在我們的開發環境。問題是沒有工作的人是新人。如果沒有真正的原因,我們不想在駕駛員身後倒退。但是,爲什麼上面的鏈接中的查詢在新驅動程序中無效的原因是我無法理解的。
我們知道它是列...如果我們把它拿出來的結果迫使一個空的空間,一切正常(除了我們沒有得到的數據)。該查詢在其他環境中正常工作。
我看到一些帖子暗示,這個錯誤是關係到結果集元數據getColumn()方法是JDBC3和JDBC4之間不一致。但是我們並沒有在這個查詢中做任何特殊的事情,這在許多其他查詢中都沒有完成,至少沒有我們所知道的。
有誰知道這個查詢可能是什麼東西關閉?有沒有解決這個問題的方法......有的設置或解決方法,或者是新的驅動程序?
完整例外:
com.ibm.db2.jcc.a.SqlException:[JCC] [10150] [10300] [4.3.111]無效參數:未知>列名FILTER_VALUE_DECODE。 ERRORCODE = -4460,SQLSTATE =空 在com.ibm.db2.jcc.a.dd.a(dd.java:660) 在com.ibm.db2.jcc.a.dd.a(dd.java: 60) 處COM com.ibm.db2.jcc.a.dd.a(dd.java:103) 在com.ibm.db2.jcc.a.ib.a(ib.java:1674) 。 ibm.db2.jcc.a.yl.a(yl.java:1625) at com.ibm.db2.jcc.a.yl.getString(yl.java:1468) at com.ibm.ws.rsadapter。 jdbc.WSJdbcResultSet.getString(WSJdbcResultSet.java:2467) at org.hibernate.type.StringType.get(StringType.java:41) at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184) at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:210) at org.hibernate.loader.custom.CustomLoader $ ScalarResultColumnProcessor.extract(Cus tomLoader.java:501) 在org.hibernate.loader.custom.CustomLoader $ ResultRowProcessor.buildResultRow(CustomLoader.java:447) 在org.hibernate.loader.custom.CustomLoader.getResultColumnOrRow(CustomLoader.java:344) 在org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:647) at org.hibernate.loader.Loader.doQuery(Loader.java:745) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java: 270) 在org.hibernate.loader.Loader.doList(Loader.java:2294) ...... 64多個
如果您解決了舊問題,請發佈答案,以防其他人出現類似問題。 – WarrenT
我的猜測是你正在使用'columnName'而不是'columnLabel'從結果集中檢索值。 –
@WarrenT - 不,這是更詳細/重新提出的問題。 Mark的回答看起來很有希望。我會嘗試。 – user1187719