IIS 上的 asp.net 应用程序无法连接到 localdb

问题描述 投票:0回答:2

我有一个在 IIS 上运行的 asp.net Web 应用程序,一切都很好,直到我尝试访问数据库时出现此错误:

我已阅读《在完整 IIS 中使用 LocalDB》的 2 部分:1 部分 | 2 部分

我按照说明进行操作,但仍然出现错误,有没有办法检查我是否正确遵循了这些步骤?

我还可以检查其他可能导致此错误的内容吗?

注意:我在 asp.net 和 asp.net core 应用程序中尝试过这一点,核心应用程序根本没有给出任何描述,所以我正在使用 asp.net 进行测试。我使用的数据库是Visual Studio提供的数据库。如果您希望我提供任何进一步的信息,我很乐意提供,我已经被这个问题困扰了一段时间,似乎无法解决它。

c# asp.net sql-server iis
2个回答
4
投票

原来它并不太复杂,但我对 IIS 和数据库缺乏经验,这让我感到困惑。希望这可以帮助将来的人。我可能错过了一些小步骤/调整,但那是因为整个解决方案需要一段时间才能设置。

  1. 确保您实际安装了 SQL Server。您可以在这里下载我使用的2008版本。设置起来可能很痛苦,而且我在安装时实际上搞砸了,这是我观看的视频(我没有安装:数据库引擎服务)。
  2. 接下来您要确保 IIS 身份(在本例中为 IIS APPPOOL\ASP.NET v4.0)有权连接到数据库服务器。检查答案这里
  3. 一旦连接到数据库服务器,它就需要能够连接到服务器上的数据库(我不知道数据库和数据库服务器是两个不同的东西)。您需要执行类似于步骤2的操作,在SSMS中展开数据库文件夹,然后选择您要授予访问权限的数据库,其中还有一个安全文件夹,您想要将身份添加到该文件夹。

其他有用的要点:

  • 如果您的 sql 配置管理器未打开,请告诉它,谢谢 gofr1。这是一个非常有用的工具,用于检查数据库连接(事实证明)
  • 确保您将连接字符串设置为指向 sql 服务器。确保它没有连接到位于连接字符串中的
    AttachDbFilename=|DataDirectory|\your_database_name_here.mdf
    的 mdf 文件。
  • 对于 ASP.NET Core,请阅读文档,它是上帝,因为一旦应用程序部署在 IIS 上,错误就不存在了,这将在黑暗时期有所帮助。请务必检查
    publishOptions

为了进一步帮助您了解整个流程是如何运作的,感谢 gofr1 请阅读此处。没有解决问题,但值得一读

如果我记得我错过了任何东西,稍后可能会在这里包含更多内容。


0
投票

对我来说,将 AppPool 用户更改为 LocalSystem 效果非常好。

来源:添加 IIS 7 AppPool 身份作为 SQL Server 登录

© www.soinside.com 2019 - 2024. All rights reserved.