0
如果我叫Thread.Abort()
(在C#/。NET)上當前正在執行的ODBC命令線程(專門針對MSSQL和Oracle,而且通常情況下),會發生什麼?命令會被取消嗎?將DB服務器承認沒有什麼在連接的另一端,並終止該進程(再次,特別是MSSQL和Oracle)?或者我需要先在連接上明確呼叫Cancel()
?C#Thread.Abort的()+ ODBC連接
我的目標是確保我連接到如果最壞的情況應該發生在我的應用程序的數據庫的安全性(或者說我可以捕捉和響應,如系統關閉等最差)。
我想防守程序,然後嘗試發出取消()如果有可能,但我想反正知道的行爲。
我想你必須調用取消 –
Thread.Abort()應該只在正在執行的代碼被管理時才能工作......所以實際上它取決於驅動程序是如何構建的,如果是託管代碼或它是非託管代碼。如果驅動程序是非託管代碼,則它不受'Thread.Abort()'(例如,請參閱http://stackoverflow.com/q/2781484/613130) – xanatos
請參閱http://stackoverflow.com/q/對於嘗試'Thread.Abort()'和'SqlDataAdapter'(提示:'SqlDataAdapter'獲勝:-))的人來說是1401532/613130 – xanatos