簡體   English   中英

如何允許IIS從ASP.NET MVC項目中使用本地數據庫?

[英]How to allow IIS to use local database from ASP.NET MVC project?

我將在本地網絡上演示ASP.NET MVC網站。 此應用程序與數據庫連接:

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-EBC-20141127093222.mdf;Initial Catalog=aspnet-EBC-20141127093222;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

我想如果IIS和每當我在本地運行我的應用程序時都可以使用這個數據庫。 我在IIS上創建了一個站點 - 它運行的是.NET v4。 我的項目位於c:\\inetpub\\www\\ebc 我可以發布網站,但在查看頁面時收到此錯誤:


“建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。未找到服務器或無法訪問服務器。驗證實例名稱是否正確以及SQL Server是否配置為允許遠程連接。(提供程序: SQL網絡接口,錯誤:50 - 發生本地數據庫運行時錯誤。在LocalDB實例API方法調用中發生意外錯誤。請參閱Windows應用程序事件日志以獲取錯誤詳細信息。

我知道我需要允許通過microsoft sql server manager遠程連接到sql server? 有沒有辦法在別處做?

最好的解決方案是使用SQL Expression但是如果你不想要的話,你需要做的幾個步驟才能讓你的mvc應用程序與localdb一起工作

  1. 以管理員身份打開Visual Studio命令提示符
  2. 執行sqllocaldb share v11.0 IIS_DB (然后數據庫將被共享,IIS可以訪問它)
  3. 將站點連接字符串更改為指向DB的共享實例: Data Source=(LocalDb)\\.\\IIS_DB然后再次發布

請注意,此時您可能會收到訪問拒絕錯誤,並且有如何修復它

  1. 轉到visual studio => databaseexplorer =>添加連接
  2. 對於服務器名稱,輸入(LocalDb)\\.\\IIS_DB然后右鍵單擊連接並選擇新查詢並執行此命令

     create login [IIS APPPool\\DefaultAPPPool] from windows; exec sp_addsrvrolemember N'IIS APPPool\\DefaultAPPPool, sysadmin 

如果在計算機中安裝了多個版本的SQL Server localDB,則此錯誤非常常見。

嘗試使用(localdb)\\mssqllocaldb作為連接到LocalDB自動實例的公共服務器名稱,而不是“v11.0”或“v12.0”。

上面的自動localdb實例在所有版本中都有一個默認名稱,並避免名稱和版本之間的沖突。

要點 :將localdb更新為新版本時,請記住使用舊版本創建的數據庫不適用於較新版本。

看到這篇文章:使用LocalDB和完整IIS的這兩篇文章應該為您提供更多信息。 特別是第二部分似乎相關,但第一部分也包含一些背景。

  1. 第1部分:用戶配置文件
  2. 第2部分:實例所有權

信用: IIS連接到LocalDB

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM