# 部署到 IIS 後,無法正常連到 DB (已解決,但尚未知道原因) ###### tags: `被玩壞了` ## 解決方法 在 Web.Config 的 <system.web> 中加入這行 ``` <roleManager enabled="true" /> ``` ![](https://i.imgur.com/dv5SRXk.png) [參考這篇](https://www.oreilly.com/library/view/beginning-aspnet-35/9780470187593/9780470187593_the_role_manager.html) #### ____的紀錄 ![](https://i.imgur.com/6oq04gz.png) ## 關聯重點 * App_Data 資料夾會一直跑出來 * 跟 「角色」 有關 ( ASP Identity ) * 錯誤訊息跟 App_Data 有關 ( 猜測可能是有 App_Data,就優先去找 App_Data 資料 (?) ) ## 錯誤訊息 ![](https://i.imgur.com/ODJbs8h.jpg) > 建立連接至 SQL Server 時,發生網路相關或執行個體特定的錯誤。找不到或無法存取伺服器。確認執行個名稱是否正確,以及 SQL Server 是否設定為允許遠端連線。 (provider: SQL Network Interfaces, error: 26 - 搜尋指定的伺服器/執行個體時發生錯誤) > 描述: 在執行目前 Web 要求的過程中發生未處理的例外狀況。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。 > > SQLExpress 資料庫檔案自動建立錯誤: > > 連接字串使用此應用程式 App_Data 目錄內的資料庫位置來指定本機的 SQL Server Express 執行個體。因為提供者判斷資料庫不存在,因此提供者嘗試自動建立應用程式服務資料庫。若要成功檢查應用程式服務資料庫是否存在,並自動建立應用程式服務資料庫,必須符合下列組態需求: > > 如果此應用程式是在 Windows 7 或 Windows Server 2008R2 上執行,必須採用特殊組態步驟來啟用提供者資料庫的自動建立。詳細資訊請參閱: http://go.microsoft.com/fwlink/?LinkId=160102。如果應用程式的 App_Data 目錄尚未建立,Web 伺服器帳戶必須有此應用程式目錄的讀取和寫入權限。這是必要的,因為如果 App_Data 目錄不存在,Web 伺服器帳戶會自動建立該目錄。 > 如果應用程式的 App_Data 目錄已經存在,Web 伺服器帳戶只需有此應用程式 App_Data 目錄的讀取和寫入權限。這是必要的,因為 Web 伺服器帳戶會嘗試確認在應用程式的 App_Data 目錄內是否已經有 SQL Server Express 資料庫。撤銷 Web 伺服器帳戶對 App_Data 目錄的讀取權,會讓提供者無法正確判斷 SQL Server Express 資料庫是否存在。如此會在提供者嘗試建立重複的現有資料庫時造成錯誤。由於建立新的資料庫時會使用 Web 伺服器帳戶認證,因此需要寫入權。 > 電腦上必須安裝 SQL Server Express。 > Web 伺服器帳戶的處理序識別必須擁有本機使用者設定檔。如需如何建立電腦與網域帳戶的本機使用者設定檔的詳細資訊,請參閱讀我檔案文件。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up