【问题标题】:Named Pipes provider error 40 when running on IIS 7, but works fine in cassini在 IIS 7 上运行时命名管道提供程序错误 40,但在 cassini 中运行良好
【发布时间】:2011-07-04 15:22:58
【问题描述】:

我有一个通过互联网连接到远程 sql 服务器的网络应用程序。它通过一个别名访问,该别名配置了别名、主机名、端口和 TCP/IP 作为协议

在 Visual Studio 2008 中使用内置 Web 服务器 (cassini) 运行时,我可以从 sql mgt studio 和我的应用程序访问数据库。

我现在已经安装了 IIS (win7 64bit) 并将其指向应用程序。当我在 Visual Studio 中运行应用程序但配置为连接到本地 iis 时,我收到命名管道提供程序错误 40 消息。我的 iis 作为本地系统运行 - 但在 collauges pc 上运行良好的 IIS 也是如此。他声称没有做任何特殊配置。

我不明白为什么。相同的代码。相同的连接字符串。等等。我已经禁用了我的防火墙,没有用。

但它适用于我的同事 - 他似乎具有与我相同的配置。我很难过。有人有什么想法吗?

我的 sql 客户端配置现在只启用了 tcp/ip。

非常感谢任何帮助。

【问题讨论】:

  • 只是为了确保一切正常。您可以连接到本地数据库并查看您的应用程序是否按预期工作。一切就绪后,您可以切换到远程数据库服务器,看看是否遇到同样的问题。此外,您可能希望将应用程序池配置为以管理员身份运行,看看是否有帮助。确保选择您的应用程序配置使用的应用程序池。
  • 您可能想尝试的另一件事是删除您的别名并使用相同的参数重新创建它。

标签: c# asp.net sql-server iis cassini


【解决方案1】:

您是否偶然使用集成安全性?我相信 Casinni 在连接到 SQL 时将使用您的用户,但是您的本地 IIS 7 将使用应用程序池标识,默认情况下您的 SQL Server 不允许连接。您可以将您的应用程序池设置为作为网络服务运行,然后查看是否可以连接。

如果您不使用集成安全性,则需要更多考虑。

您是否尝试过使用 IIS Express?正如这是 IIS 的全部功能,但以当前用户身份运行,这将再次有助于确定其是否是用户帐户权限问题。

【讨论】:

  • 不,没有使用集成安全 - 获得了一个 sql server 用户。这甚至可以通过互联网上的 tcp/ip 工作吗?
  • 抱歉,我不知何故错过了 Internet 位,我将其误读为 Intranet。您是否尝试过使用 TCP 查看器查看与远程服务器的实际连接?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多