Sql-Server

ASP.NET MVC 連接到 mssql 伺服器時連接字元串不正確

  • January 26, 2016

我使用 mssql 數據庫在 ASP.NET MVC4 上建構了我的網站,我將它部署在我的本地 IIS 7 伺服器上並且它工作正常,但是當我在虛擬伺服器 hostgator.com 上執行完全相同的操作時,它會拋出這個錯誤。

並嘗試了 1000 個連接字元串,但仍然沒有成功。

這很奇怪,因為我在本地機器上做了同樣的操作,但它仍然無法連接到伺服器。

我過去 24 小時都在處理這個問題,但我找不到這個問題的解決方案。

我已經聯繫了技術支持,他們說這超出了他們的支持範圍,他們無法幫助我解決這個問題。

我已經盡一切努力讓這個錯誤消失,因為我在本地機器上遇到了同樣的錯誤,但是當我正確配置它時,它可以正常工作,而不是在虛擬伺服器上。

  • 防火牆已關閉
  • 在 sql 配置中啟用了遠端連接
  • 應用程序池設置為網路服務
  • 我在管理工作室中添加了網路服務作為新登錄名,可以訪問數據庫

錯誤

建立與 SQL Server 的連接時發生與網路相關或特定於實例的錯誤。伺服器未找到或無法訪問。驗證實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接。(提供者:SQL 網路介面,錯誤:26 - 錯誤定位伺服器/指定的實例)

所以基本上問題不在於 web.config 中的連接字元串,而是實體框架的問題。

我們開始在 localhost 上開發我們的項目,完成後我們在 hostgator.com 上部署了站點,問題是,entityframework 控制了所有連接字元串,因此在 web.config 中更改任何內容都沒有用。

這是我們找到解決方案的地址:http: //msdn.microsoft.com/en-us/library/bb739017.aspx

這是解決方案:

   namespace Finance.Models
   {
       // This constructor is the solution
       public class FinanceDataContext : DbContext
       {
           public FinanceDataContext()
           {
               this.Database.Connection.ConnectionString = "Data Source=servername;Initial Catalog=databasename;User ID=sql_username;Password=**********";
           }

           public DbSet<Administrator> Administrators { get; set; }
           public DbSet<News> News { get; set; }
           public DbSet<User> Users { get; set; }
           public DbSet<Plan> Plans { get; set; }
           public DbSet<Withdraw> Withdraws { get; set; }
       }
   }

沒有這方面的資訊,我們純屬運氣偶然發現了實體框架中的一些錯誤,30 分鐘後得到實體框架正在控制與數據庫的連接的想法。

我 100% 肯定有人會遇到同樣的問題,所以如果您可以編輯此問題,以便所有人都能看到。

引用自:https://serverfault.com/questions/445681