国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

大數據導致DataReader.Close超時的異常

2019-11-17 03:00:56
字體:
來源:轉載
供稿:網友

大數據導致DataReader.Close超時的異常

公司一個數據抓取的程序,數據量極大,讀取數據的用IDataReader的Read方法來進行數據處理,在測試的時候我想跑一部分數據后跳出循環,即break; 然后關閉datareader,但是在執行datareader.close()方法的時候出現了“超時異常”的錯誤, 查看了一下MSDN對Close方法的說明的備注 如下:

當使用SqlDataReader將關聯的SqlConnection用于任何其他用途時,必須顯式調用Close方法。

Close方法填寫輸出參數的值、返回值和RecordsAffected,從而增加了關閉用于處理大型或復雜查詢的SqlDataReader所用的時間。如果返回值和查詢影響的記錄的數量不重要,則可以在調用Close方法前調用關聯的SqlCommand對象的Cancel方法,從而減少關閉SqlDataReader所需的時間。

原來執行Command的Cancel方法就可以解決這個問題。

 1 public void TestDataReader() 2 { 3     using (IDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)) 4     { 5         try 6         { 7             while (reader.Read()) 8             { 9                 //處理數據10                 //break; 11                 //處理數據12             }13         }14         finally15         {16             cmd.Cancel();17             reader.Close();18         }19     }20 }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永昌县| 绿春县| 闸北区| 黄大仙区| 搜索| 灵台县| 临汾市| 六枝特区| 田林县| 麻阳| 鸡西市| 高台县| 达孜县| 阿尔山市| 呼伦贝尔市| 麦盖提县| 铜梁县| 塘沽区| 津市市| 南投市| 肥城市| 古交市| 德兴市| 湟中县| 永康市| 平度市| 涞源县| 凤冈县| 西乡县| 正宁县| 桑日县| 九江县| 中方县| 阿拉善左旗| 永福县| 普洱| 大同市| 昌乐县| 天水市| 广昌县| 兰西县|