JAVA 连接 mysql
 
    当java发送一条sql语句给mysql server的时.因执行时间太长,不愿等待.    用什么方法可以强行中断这个sql(我指的中断是中断server 端的)~    用纯JAVA的程序去中断.不能使用任何工具。    请问JAVA中有这个方法吗?
 
  

解决方案 »

  1.   

    执行SQL时用一个线程去执行。
    然后过了一段时间还没拿到结果就强制关闭Connection,
    不过没试过,不知道行不行
      

  2.   

    多线程,后台线程在mysql上执行kill语句就可以停止sql的执行
      

  3.   


     关闭连接只是关闭client与server的通道..但已经发送到server端的命令还是会在server端继续执行的..
      

  4.   


    额...多谢你的回答...不过,貌似我说过用纯JAVA语言去控制..谢谢。。
      

  5.   


    强制rollback不知有没有效果。
      

  6.   


    强制rollback?
    不太理解你的意思.server端正在执行sql.正在占用一个线程.能够用JAVA强制进入这个线程进行rollback吗? 
    请详解..谢谢....在mysql里面只有InnoDB和DBD两种存储引擎支持事务..所以就算能进入这个线程进行rollback也不能通用咯...主要是.正在执行的线程,你怎么进入这个线程去rollback....
      

  7.   

    请问如何实现请求mysql执行一个长时间的操作,而不等待执行结构就可以退出调用?jdbc里面所有调用操作都有返回值的吧。
      

  8.   

    很明显这个 只能 在 mysql 服务端 做, 做超时 退出 不执行 即可, 具体怎么 做 可以去问问 数据库达人。
      

  9.   

    Statement#setQueryTimeout(int)
    PreparedStatement#setQueryTimeout(int)
      

  10.   

    引用楼主的话“关闭连接只是关闭client与server的通道..但已经发送到server端的命令还是会在server端继续执行的..”若是那样的话,试试Runtime.exec(), 若要中断执行,则kill这个子进程...
      

  11.   

    等待一定时间之后,直接关闭Connection,不知道怎么样