任何人都知道为什么SQL Server 2005抛出“'SQLOLEDB'失败,没有可用的错误消息,结果代码:E_FAIL(0x80004005)。”?

时间:2008-10-14 22:07:55

标签: asp.net sql-server

我们有一个运行SQL Server 2005用于后端的Web系统,以及用于前端的ASP.Net(使用.net 2.0)。

系统会不时地标出标题中的错误:'SQLOLEDB'失败,没有可用的错误消息,结果代码:E_FAIL(0x80004005)。

网络系统运行得很好24/7,然后不时地将其投入选择或某些此类。我已经尝试重新运行抛出错误的精确选择,但(当然)它在我这样做时工作正常。并且,为了回答明显的后续问题,我们最近还没有做过任何代码更改或升级。

以前有没有人碰到这个?谷歌周围的问题似乎只会出现Access存在某种文件问题(权限,缺少数据文件等)的情况。

1 个答案:

答案 0 :(得分:2)

首先,它可能不是SQL Server抛出错误,如果是,它可能不是在运行SQL语句本身时,但如果是,它几乎肯定会是一个没有的登录特有的权限,而不是SQL命令本身。

0x80004005错误是一般权限失败,它几乎可以发生,但最有可能出现在另一层。

我在身份验证中看到它在运行应用程序的帐户时无法访问网络以打开与SQL Server的连接。 SQL Server甚至从未看到过请求,但客户端会说无法找到服务器。

如果它是间歇性的,则可能指向间歇性域控制器问题,但这取决于您的Windows服务器和Active Directory的设置方式,以及您的应用程序如何连接到SQL Server。

要解决这个问题,您的netadmins需要真正了解其Windows日志记录功能并为您进行跟踪。