这个问题很长见的。需要吧传进来的string 转换成Long 型的。因为这个原因改数据库中的子段属性,不是一个明智的选择!

解决方案 »

  1.   

    建议把数值类型都转换为Number型,然后再存到数据库中.
      

  2.   

    问题已经解决,原因在于Oracle JDBC驱动读写Oracle的Long类型数据时,是通过流来读写的,多线程访问时就会出现问题,我测试了以下几种情况下对Long类型的数据执行select操作(每个线程执行5次操作,每种情况测试4次,读取Long类型数据使用getString()方法):编号  线程数  连接池容量   加锁   出错
    1     1        1            否     否
    2     3        1            否     否
    3     10       1            否     否
    4     10       2            否     是
    5     10       3            否     是
    6     10       4            否     是
    7     10       6            否     是
    8     6        6            否     是
    9     6        7            否     是
    10    6        8            否     是
    11    6        9            否     是加了锁后,不会出现错误,但速度马上慢下来。所以在多线程情况下,建议不使用Long类型,以Varchar2取代。谢谢大家的参与,小弟无以为保,只有分数,请大家笑纳 :)