我们很快就会跟踪司机,但我想知道是否有人见过这个。某些(第三方库)代码对从Oracle JDBC驱动程序获取的结果集执行rs.next()
,然后调用rs.getLong()
从long
列获取NUMBER
。所有这些对于各种版本的Oracle,JDBC,操作系统等多年来都运行良好,但在特定的机器上,使用Oracle 12.1.0.2和ojdbc7 jar来获得该确切版本(12.1.0.2,来自{{3 }},发生以下异常:
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 :(得分:0)
您使用的是哪个版本的Oracle JDBC瘦驱动程序?在版本12.1.0.1中有一个与您的异常类似的错误。它在12.1.0.2中修复。所以看起来你的驱动程序升级可能会解决你的问题。