不容小觑的SQLException:违反协议

最近太忙,太忙,简直就是昏天暗地。。。。

正在小猿我努力工作的时候,一个急速闪烁的头像把我拉回到现实中,现场程序在读取数据时报错:SQLException:违反协议,当时小猿我思维一滞,这是什么鬼。凭借我些许的码农经验,打开搜索引擎一顿搜索,正是众说纷纭,大家各有所言。但总结起来无非是两种论调:

1.驱动程序不匹配

2.数据存在问题(中文问题、字段类型、长度不一而足)

来吧,既然有方向,那就奋斗吧,首先看了一下驱动程序,数据库为Oracle10g(10.2.0.5),看了一下官网推荐的驱动为classes12.jar(jdk1.2or1.3使用) 或classes14.jar(jdk1.4or1.5使用),现场jdk为1.6,鉴于jdk向下兼容,classes1.4.jar应该没有问题,检查classpatch应用程序确实也在用classes14.jar这下放心了,按理说没问题(唉,就是这么的自以为是然后后面吃了不少苦,后话再叙);在以为驱动没有问题的情况下开始了漫长的排查数据和编码的历程。各种追踪日志和编程优化下,依然没有解决问题,崩溃呀。。。。。自信心已经消磨不见了,如何是好如何是好?

突然灵光一闪,尼玛,不会是classes14.jar不是官方提供的最新的吧?带着最后一丝希望,在官网重新下载了最新的classes14.jar,替换重启,简单的两步之后,尼玛,程序正常。苍天有眼,不负有心人啊。。。。

总结:

1.确实是驱动问题导致的,其实那些说是数据问题原因的归到底还是驱动的问题

2.不要盲目相信前人啊,我就是简单的看了一下是不是classes14.jar而没有拿官网最新的jar包来比较,导致自己茫然了很久(因为大部分程序都是从历史走来,许多jar包已经不适应于最新的情况,所以我们现在负责程序的人要做好与时俱进)

问题不容小觑,自己在工作中的方法、习惯和思维问题也不能小觑,时常反思吧

posted on 2015-09-15 17:03  linjie.cui  阅读(1300)  评论(0编辑  收藏  举报

导航