Sqloledb không thành công khi không có thông báo lỗi có sẵn mã kết quả: E_OUTOFMEMORY

lập trình


Ứng dụng web của tôi đã hoạt động tốt trong nhiều năm cho đến năm ngoái nhưng từ vài tháng trước tôi nhận được

sqloledb failed with no error message available result code: E_OUTOFMEMORY

và từ vài ngày qua tôi gặp lỗi hai lần một ngày (Ngay cả sau khi khởi động lại Máy chủ).

Làm thế nào tôi có thể theo dõi lý do.

Những gì tôi đã thử:

Đã kiểm tra Rò rỉ bộ nhớ trong ứng dụng nhưng không tìm thấy rò rỉ nào như vậy nhưng nó (

E_OUTOFMEMORY

) không nên đến trong nửa ngày!!

Giải pháp 1

Kiểm tra dịch vụ lưu trữ của bạn và cài đặt của nó (cả máy chủ web và Công cụ DB) – đoán rằng các hàng bạn đang truy xuất đang vượt quá một số giới hạn có thể đã được thay đổi gần đây.

Chúng tôi không thể giúp bạn thêm về vấn đề này – chúng tôi không có quyền truy cập vào mã yoru hoặc một trong các máy chủ của bạn!

Giải pháp 2

Bạn có đang tải một số lượng lớn bản ghi vào bộ nhớ ở bất kỳ đâu không? Chỉ vì “nó đã hoạt động được nhiều năm” không có nghĩa là bạn đã làm mọi việc một cách chính xác.

Có thể (các) bảng cơ sở dữ liệu của bạn hiện đã có quá nhiều dữ liệu được chèn vào chúng, mã để truy xuất dữ liệu đó hiện đã hết bộ nhớ để chứa tất cả.

Giải pháp là gì? Không quá nhanh. Trước tiên, bạn phải tìm ra vấn đề là gì và bạn là người duy nhất có thể làm được điều đó. Không ai khác biết bất cứ điều gì về mã, dữ liệu và cách bạn truy xuất dữ liệu đó.

Giải pháp 3

Đóng DataReader và đặt đối tượng Command thành Null.

コメント

タイトルとURLをコピーしました