[ad_1]
我的网络应用程序多年来一直运行良好,直到去年,但从过去几个月开始,我得到了
sqloledb failed with no error message available result code: E_OUTOFMEMORY
从最近几天开始,我每天都会收到两次错误(即使在重新启动服务器之后)。
我如何追踪原因。
我尝试过的:
检查了应用程序中的内存泄漏,但没有发现此类泄漏,但它(
E_OUTOFMEMORY
)不应该在半天内出现!
解决方案1
检查您的托管服务及其设置(网络服务器和数据库引擎) – 猜测您正在检索的行超出了最近可能已更改的某些限制。
我们无法进一步帮助您解决此问题 – 我们无法访问您的代码或您的任何服务器!
解决方案2
您是否将大量记录加载到内存中的任何位置? 仅仅因为“它已经工作多年”并不意味着你做的事情是正确的。
您的数据库表现在可能已插入了如此多的数据,用于检索该数据的代码现在已经耗尽内存来容纳所有数据。
解决办法是什么? 没那么快。 你首先必须弄清楚问题是什么,而你是唯一能做到这一点的人。 其他人都不知道有关代码、数据以及如何检索这些数据的任何信息。
解决方案3
关闭 DataReader 并将 Command 对象设置为 Null。
[ad_2]
コメント