繁体   English   中英

当 ASP 应用程序托管在 IIS Exress 中时,可以连接到 SQL 数据库,但在本地 IIS 中托管时却无法连接

[英]Connecting to SQL database works when ASP application is hosted in IIS Exress but doesn't work when hosted in Local IIS

在我的 MVC API Web 服务中,我使用 Get 方法中的连接字符串创建了一个简单的 SQL 连接对象。 我还创建了一个 Ado.net 数据模型(具有相同的连接字符串)并编写了一个 LINQ 语句以使用相同的 Get 方法从数据库中获取一行。

当 MVC 应用程序设置为 IIS Express 时,ado.net connection.open() 命令和实体框架 LINQ 语句都可以工作,并从数据库中检索数据。

但是,当我更改为本地 IIS(我需要它是本地 IIS)时,使用两种方式连接到数据库都失败,这是以任何一种方式出现的错误:

错误图像

当您在 SQL Server 连接中使用集成安全性与本地 IIS 一起运行时,到您的 SQL Server 实例的连接是在运行 IIS 应用程序池的帐户上下文下进行的。 您需要执行以下操作之一:

  • 更改您的 IIS 应用程序池正在使用的帐户
  • 在 db 中授予对 IIS 应用程序池帐户的访问权限
  • 切换到 SQL 登录

使用 IIS Express 时情况并非如此,因为 IIS Express 在您帐户的上下文中运行,我假设您的帐户确实具有数据库权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM