为了账号安全,请及时绑定邮箱和手机立即绑定

尝试在db中加载blob时,为什么会出现java.lang.AbstractMethodError?

/ 猿问

尝试在db中加载blob时,为什么会出现java.lang.AbstractMethodError?

慕粉4167745 2019-08-13 15:52:58

尝试在db中加载blob时,为什么会出现java.lang.AbstractMethodError?

Date.parse('1997-07-16T19:20:15')           // ISO 8601 Formats

Date.parse('1997-07-16T19:20:30+01:00')     // ISO 8601 with Timezone offset

编辑:正则表达式版本


x = "2011-01-28T19:30:00EST"


MM = ["January", "February","March","April","May","June","July","August","September","October","November", "December"]


xx = x.replace(

    /(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):\d{2}(\w{3})/,

    function($0,$1,$2,$3,$4,$5,$6){

        return MM[$2-1]+" "+$3+", "+$1+" - "+$4%12+":"+$5+(+$4>12?"PM":"AM")+" "+$6

    }

)

结果


January 28, 2011 - 7:30PM EST

Edit2:我把我的时区改为EST,现在我跟进了


x = "2011-01-28T19:30:00-05:00"


MM = {Jan:"January", Feb:"February", Mar:"March", Apr:"April", May:"May", Jun:"June", Jul:"July", Aug:"August", Sep:"September", Oct:"October", Nov:"November", Dec:"December"}


xx = String(new Date(x)).replace(

    /\w{3} (\w{3}) (\d{2}) (\d{4}) (\d{2}):(\d{2}):[^(]+\(([A-Z]{3})\)/,

    function($0,$1,$2,$3,$4,$5,$6){

        return MM[$1]+" "+$2+", "+$3+" - "+$4%12+":"+$5+(+$4>12?"PM":"AM")+" "+$6 

    }

)

返回


January 28, 2011 - 7:30PM EST

基本上


String(new Date(x))

返回


Fri Jan 28 2011 19:30:00 GMT-0500 (EST)

正则表达式部分只是将上面的字符串转换为您需要的格式。


January 28, 2011 - 7:30PM EST


查看完整描述

3 回答

?
慕的地2183247

使用JDBC时,通常会发生该错误,因为JDBC驱动程序实现的JDBC API版本比JRE中包含的版本更旧。只要您不尝试使用新API中出现的方法,这些旧版本就可以了。

我不确定setBinaryStream出现了什么版本的JDBC 。我认为它已经存在了一段时间。

无论如何,你的JDBC驱动程序版本(10.2.0.4.0)已经很老了,我建议将它升级到11g发布的版本(在这里下载),然后再试一次。


查看完整回答
反对 回复 2019-08-13
?
沧海一幻觉

看起来即使驱动程序10.2与JDBC3兼容,它也可能不适用于JRE6,正如我在这里找到的:

http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.html#02_03

哪些JDBC驱动程序支持哪些版本的Javasoft JDK?

pre-8i OCI和THIN驱动程序 - JDK 1.0.x和JDK 1.1.x 
8.1.5 OCI和THIN驱动程序 - JDK 1.0.x和JDK 1.1.x 
8.1.6SDK THIN驱动程序 - JDK 1.1.x和JDK 1.2.x(又称Java2)
8.1.6SDK OCI驱动程序 - 仅JDK 1.1.x 
8.1.6 OCI和THIN驱动程序 - JDK 1.1.x和JDK 1.2.x 
8.1.7 OCI和THIN驱动程序 - JDK 1.1.x和JDK 1.2.x 
9.0。 1 OCI和THIN驱动程序 - JDK 1.1.x,JDK 1.2.x和JDK 1.3.x 
9.2.0 OCI和THIN驱动程序 - JDK 1.1.x,JDK 1.2.x,JDK 1.3.x和JDK 1.4.x 
10.1。 0 OCI和THIN驱动程序 - JDK 1.2.x,JDK 1.3.x和JDK 1.4.x 
10.2.0 OCI和THIN驱动程序 - JDK 1.2.x,JDK 1.3.x,JDK 1.4.x和JDK 5.0.x 
11.1 .0 OCI和THIN驱动程序 - JDK 1.5.x和JDK 1.6.x.

Oracle 10.2.0支持:

完全支持JDBC 3.0 
请注意,数据库中对以下内容的支持没有真正的变化。所有改变的是,之前抛出SQLException的一些方法现在做了更合理的事情。
结果集可保持性
返回多个结果集。


查看完整回答
反对 回复 2019-08-13
?
收到一只叮咚

以下是JDK API关于AbstractMethodError的内容:

应用程序尝试调用抽象方法时抛出。通常,编译器会捕获此错误; 如果自上次编译当前正在执行的方法以来某些类的定义发生了不兼容的更改,则此错误只能在运行时发生。

也许是oracle驱动程序中的bug?


查看完整回答
反对 回复 2019-08-13

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信