我有一个在 IIS 上运行的 asp.net Web 应用程序,一切都很好,直到我尝试访问数据库时出现此错误:
我已阅读《在完整 IIS 中使用 LocalDB》的 2 部分:1 Part | 2 Part
我按照说明进行操作,但仍然出现错误,有没有办法检查我是否正确遵循了这些步骤?
还有什么我可以检查的可能导致此错误的原因吗?
注意:我在 asp.net 和 asp.net core 应用程序中尝试过这一点,核心应用程序根本没有给出任何描述,所以我正在使用 asp.net 进行测试。我使用的数据库是Visual Studio提供的数据库。如果您希望我提供任何进一步的信息,我很乐意提供,我已经被这个问题困扰了一段时间,而且似乎无法解决它。
最佳答案
事实证明,它并不太复杂,但我对 IIS 和数据库缺乏经验,这让我感到困惑。希望这可以帮助将来的人。我可能错过了一些小步骤/调整,但那是因为整个解决方案需要一段时间才能设置。
- 确保您实际安装了 SQL Server。你可以下载我用的2008版本here 。设置起来可能很痛苦,而且我在安装时实际上搞砸了,here is the vid I watched (我没有安装:数据库引擎服务)。
- 接下来您要确保 IIS 身份(在本例中为 IIS APPPOOL\ASP.NET v4.0)有权连接到数据库服务器。检查答案here 。
- 一旦连接到数据库服务器,它就需要能够连接到服务器上的数据库(我不知道数据库和数据库服务器是两个不同的东西)。您需要执行类似于步骤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/