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

标签 c# asp.net sql-server iis

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

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

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

还有什么我可以检查的可能导致此错误的原因吗?

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

最佳答案

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

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

其他有用的点:

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

为了进一步帮助您了解整个流程是如何运作的,感谢 gofr1 read here 。没有解决问题,但是worth a read .

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

关于c# - IIS 上的 asp.net 应用程序无法连接到 localdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40059038/

相关文章:

c# - 将自定义可序列化类映射到数据源

java - 如何在 C#/Xamarin 中使用带有 Android 钥匙串(keychain)私钥的 X.509 证书?

sql - 查看从存储过程创建的临时表

asp.net - 是否可以在同一台服务器上运行多个版本的 Crystal Reports Runtime?

sql - 如何重用IN子查询的查询?

sql-server - SQL服务器事务

c# - WPF如何在进度条上显示文字

c# - 如何定义接口(interface)的索引器行为?

javascript - 按后退按钮时忽略重定向页面

asp.net - 在 javascript 中抓取 asp.net 控件