很有可能是抛出了sql异常,然而你没有rollback从而出现了排他现象而导致的

解决方案 »

  1.   

    是不是因为程序里执行效率太低所致?用的连接池还是JDBC?
      

  2.   

    你可以用预编译的方法试试你的sql语句
      

  3.   

    检查jdbc驱动,可能驱动不支持这种用法,一般情况下驱动只支持常用的sql语句
      

  4.   

    to tanghuan() 
    估计是不是未提交,或则被连接的事务把记录锁住了,但又没有形成死锁环,所以会一直等待其他事务放掉锁
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    程序是手工提交事务,这个操作是事务里的第一步.
    可为什么会被锁住呢?事务没有执行完也不能提交啊.请问有没有解决办法?
      

  5.   

    to  liudongbaollz() 
    检查jdbc驱动,可能驱动不支持这种用法,一般情况下驱动只支持常用的sql语句
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    不应该啊,在数据量小的情况下,比如说插入几十条数据,这个操作就好用,应该不是不支持的问题.
      

  6.   

    是不是支持的不好,DB2的客户端如果装在windows下,走的是ODBC,所以ODBC肯定没问题。你在JDBC中用二分法,增加数据,看到多少条就会down掉,或者下载个新的驱动试试
      

  7.   

    IFindit(寻找其中的乐趣)
    DB2的驱动可以不走ODBC,可以采用网络连接方式
      

  8.   

    sql可以。
    那就说明是你程序有我问题哦