1.创建一个线程执行ExecuteReader,DB连接正常,前几次都能正常读出SQL数据。
2.在连续Select大数据,且多次在没读完数据的时候就Thread.Abort,然后关闭BD Connection及Reader。
3.再次调用ExecuteReader,程序挂起,大约10分钟才结束,且最后读出来错误数据。
~~~请教大神,这是什么原因?
是因为KillThread跟DB关闭顺序反了?
还是DB数据没取完导致数据堆积?
怎么解决?
1.创建一个线程执行ExecuteReader,DB连接正常,前几次都能正常读出SQL数据。
2.在连续Select大数据,且多次在没读完数据的时候就Thread.Abort,然后关闭BD Connection及Reader。
3.再次调用ExecuteReader,程序挂起,大约10分钟才结束,且最后读出来错误数据。
~~~请教大神,这是什么原因?
是因为KillThread跟DB关闭顺序反了?
还是DB数据没取完导致数据堆积?
怎么解决?
KillThread是什么鬼
应该调用 Thread.Abort
线程里面在 ThreadAbortException 里面对 connection sqlcommand 关闭、清理