Sql-Server-2008

在 HostGator 上發布 MVC4 站點時遇到問題

  • May 13, 2015

我一直在研究 C# MVC4 網站並嘗試將其發佈到 Host Gator 共享 Windows 託管帳戶。它們同時執行 MSSQL 2008 和 mySql。在嘗試使該站點正常工作時,我們遇到了一些麻煩。

首先,我們使用程式碼優先的方法通過 MVC 創建數據庫並實現SimpleMembership它提供的功能。

如果我發布一個由 Visual Studios 2010 模板創建的基本 MVC 網站,該網站將載入和顯示頁面,只要它不嘗試連接到數據庫。

我曾與 Host Gator 技術支持合作過,但他們無法就如何實際連接到數據庫給我一個很好的答案。我已經嘗試了各種連接字元串,以及嘗試實現 SqlServerCe 3.5。

我嘗試過的一些連接字元串範例如下:

<configuration>
   <connectionStrings>
       <add connectionString="Server=myServerAddress;Database=myDataBase;ID=myUsername;Password=myPassword;Trusted_Connection=False" name="connectionName" providerName="System.Data.SqlClient" />
   </connectionStrings>
</configuration>

還有這個:

<connectionStrings>
               <add connectionString=Data Source=ServerIPAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; />
           </connectionStrings>
       </configuration>

但似乎沒有任何效果,我們最終會在整個地方出現錯誤,例如:

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

這一切都指向連接字元串並且無法連接。

有沒有人使用 HostGator 和 MVC 的成功案例?

我猜他們不提供 RDP 訪問。如果是這樣,我要做的第一件事是嘗試 ping sql 伺服器,並嘗試使用 odbcad32 創建系統 DSN,並驗證數據庫是否可獨立於應用程序訪問。

如果您的數據庫不是 SQL 伺服器上的唯一或預設實例,您可能需要在連接字元串中指定實例名稱:

server=serverName\instanceName

可以進一步製作連接字元串以指定 tcp/ip 和 SQL 埠號:

tcp:servernameorIP\instanceName,1433  

另一種可能有助於提供更多資訊的技術是在 global.asax.cs 中執行一些其他測試,獨立於使用連接字元串的數據庫訪問,例如 ping sql 伺服器,並嘗試建立一個簡單的 tcp 連接到1433 上的 SQL 伺服器。

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