【问题标题】:Anybody know why SQL Server 2005 throws "'SQLOLEDB' failed with no error message available, result code: E_FAIL(0x80004005). "?有人知道为什么 SQL Server 2005 会抛出“'SQLOLEDB' failed with no error message available, result code: E_FAIL(0x80004005).”吗?
【发布时间】:2010-09-17 05:05:12
【问题描述】:

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

系统有时会在标题中显示错误:“SQLOLEDB”失败,没有可用的错误消息,结果代码:E_FAIL(0x80004005)。

Web 系统 24/7 运行良好,然后不时将其扔到一个选择或类似的东西上。我已经尝试重新运行引发错误的确切选择,但是(当然)当我这样做时它工作正常。而且,为了回答明显的后续问题,不,我们最近没有进行任何代码更改或升级。

以前有人遇到过这种情况吗?在 Google 上四处寻找似乎只会出现 Access 存在某种文件问题(权限、丢失数据文件等)的情况

【问题讨论】:

    标签: asp.net sql-server


    【解决方案1】:

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

    0x80004005 错误是一般权限故障,它几乎可以发生在任何地方,但最有可能发生在另一层。

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

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

    要解决这个问题,您的网络管理员需要真正了解他们的 Windows 日志记录功能并为您追踪。

    【讨论】:

    • 哇,这真的很吸引人。这正是我想知道的。我会把它传递给网络管理员(或者,至少是我们的传真),看看他们能做什么。非常感谢。
    • 不幸的是,这是每个故障排除本身就是一个旅程的错误之一。
    猜你喜欢
    • 1970-01-01
    • 2021-06-23
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多