1
我們很快可能會追蹤驅動程序,但我想知道是否有人看到了這個。某些(第三方庫)代碼對從Oracle JDBC驅動程序獲得的結果集執行rs.next()
,然後調用rs.getLong()
從NUMBER
列中獲取long
。所有這些對Oracle,JDBC,OS等多種版本來說都很好,但是在特定的機器上,對於該版本(12.1.0.2,從http://www.oracle.com/technetwork/database/features/jdbc/default-2280470.html)使用Oracle 12.1.0.2和ojdbc7 jar,發生以下異常:有沒有人在Oracle JDBC驅動中看到這個NPE?
java.lang.NullPointerException
at java.lang.System.arraycopy(Native Method)
at oracle.jdbc.driver.DynamicByteArray.get(DynamicByteArray.java:350)
at oracle.jdbc.driver.NumberCommonAccessor.getLong(NumberCommonAccessor.java:546)
at oracle.jdbc.driver.GeneratedStatement.getLong(GeneratedStatement.java:228)
at oracle.jdbc.driver.GeneratedScrollableResultSet.getLong(GeneratedScrollableResultSet.java:564)
不幸的是ojdbc不是開源的。 這是一個已知的問題? 是否有一些替代jdbc驅動程序嘗試?
無法讀取中文,但同樣的例外情況也在http://f.dataguru.cn/thread-315841-1-1.html上提及 – Thilo
這在具體的JVM中似乎比驅動程序更多的問題。您在什麼操作系統(供應商,版本,構建)上操作的是什麼JVM(供應商,版本,構建)?特別是當你看到它只發生在一臺特定的機器上時(猜測你在其他機器上測試過並且無法在那裏重現),它幾乎可以肯定是那臺機器特有的東西(當然它也可能是數據,在這種情況下,你會得到與另一臺機器上的完全相同的數據相同)。 – jwenting