在 HostGator 上發布 MVC4 站點時遇到問題
我一直在研究 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 伺服器。