今天,修改了一點上次做的辦公管理系統中的文件上傳的BUG,原因是ASP中SQL語句性能問題導致了RecordSet對象關閉,結果使數據入庫失敗。對于這個錯誤,我目前只能這樣理解了:
SQL語句 select * from TAB_FILES 打開表后,然后調用AddNew方法添加要更新的數據,表面上看沒什么問題,當TAB_FILES表中記錄相當多時, select * from TAB_FILES 問題就暴露了,所有被選擇的數據會寫入系統內存緩沖區(實際操作由RecordSet完成),從數據庫中取出的數據量超過緩沖區所能容納的臨界值時導致RecordSet異常關閉,最終數據入庫當然失敗。
我用了一個臨時解決辦法:重新構造一個SQL語句,這個SQL語句不返回任何記錄,就像打開一個空表一樣,然后再進行數據庫更新操作。
|