簡體   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