在 HostGator 上发布 MVC4 网站时遇到问题

在 HostGator 上发布 MVC4 网站时遇到问题

我一直在开发一个 C# MVC4 网站,并尝试将其发布到 Host Gator 共享 Windows 托管帐户。它们同时运行 MSSQL 2008 和 mySql。我们在尝试让网站正常运行时遇到了一些麻烦。

首先,我们使用代码优先方法通过 MVC 创建数据库并实现SimpleMembership它提供的功能。

如果我发布一个由 Visual Studio 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 的成功案例?

答案1

我猜他们不提供 RDP 访问权限。如果是这样,我要做的第一件事就是尝试 ping sql 服务器,并尝试使用 odbcad32 创建系统 DSN,并验证数据库是否可以独立于应用程序访问。

如果您的数据库不是 SQL 服务器上唯一或默认实例,则可能需要在连接字符串中指定实例名称:

server=serverName\instanceName

可以进一步制作连接字符串来指定 tcp/ip 和 SQL 端口号:

tcp:servernameorIP\instanceName,1433  

另一种可能有助于提供更多信息的技术是在 global.asax.cs 中执行一些其他测试,独立于使用连接字符串的数据库访问,例如 ping sql 服务器,并尝试与 1433 上的 SQL 服务器建立简单的 tcp 连接。

相关内容