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

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

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

森林海 2019-08-13 15:52:58
尝试在db中加载blob时,为什么会出现java.lang.AbstractMethodError?Date.parse('1997-07-16T19:20:15')           // ISO 8601 FormatsDate.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 ESTEdit2:我把我的时区改为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 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

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

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

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


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

TA贡献1821条经验 获得超4个赞

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

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

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


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 609 浏览
慕课专栏
更多

添加回答

举报

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