我有一个在 IIS 上运行的 asp.net 网络应用程序,一切正常,直到我尝试访问数据库时出现此错误:
我已阅读将 LocalDB 与完整 IIS 结合使用的两部分:1 Part | 2 Part
我按照说明操作但仍然出现错误,有没有办法检查我是否正确按照步骤操作?
还有什么我可以检查的可能导致此错误的地方吗?
注意:我用 asp.net 和 asp.net 核心应用程序试过这个,核心应用程序根本没有给出任何描述,所以我用 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 server。确保它没有连接到位于 connectionString 中的
AttachDbFilename=|DataDirectory|\your_database_name_here.mdf
的 mdf 文件。
- 对于 asp.net Core,请阅读它的文档 is god ,因为一旦应用程序部署在 IIS 上,错误就不存在了,它将在黑暗时期提供帮助。始终检查
publishOptions
。
为了进一步帮助您了解整个过程的工作原理,感谢 gofr1 read here .没有解决问题但是worth a read .
如果我记得我遗漏了什么,以后可能会在此处添加更多内容。
我是一名优秀的程序员,十分优秀!