2015-10-28 43 views
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驅動程序嘗試?

+0

無法讀取中文,但同樣的例外情況也在http://f.dataguru.cn/thread-315841-1-1.html上提及 – Thilo

+0

這在具體的JVM中似乎比驅動程序更多的問題。您在什麼操作系統(供應商,版本,構建)上操作的是什麼JVM(供應商,版本,構建)?特別是當你看到它只發生在一臺特定的機器上時(猜測你在其他機器上測試過並且無法在那裏重現),它幾乎可以肯定是那臺機器特有的東西(當然它也可能是數據,在這種情況下,你會得到與另一臺機器上的完全相同的數據相同)。 – jwenting

回答

0

您正在使用哪種版本的Oracle JDBC瘦驅動程序?有一個bug在12.1.0.1版本中產生了一個類似於你的異常。它在12.1.0.2中被修復。所以看起來你的驅動程序的升級可能會解決你的問題。

相關問題