Назад | Перейти на главную страницу

Проблемы с публикацией сайта MVC4 на HostGator

Я работал над веб-сайтом C # MVC4 и пытался опубликовать его в общей учетной записи хостинга Windows Host Gator. Они работают под управлением MSSQL 2008 и mySql. У нас возникли некоторые проблемы при попытке заставить сайт работать.

Прежде всего, мы используем подход «сначала код» к созданию базы данных с помощью MVC, а также реализуем SimpleMembership что он предлагает.

Если я опубликую базовый веб-сайт MVC, созданный с помощью шаблона Visual Studios 2010, сайт будет загружать и отображать страницы, если он не пытается подключиться к базе данных.

Я работал со службой технической поддержки 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. Если это так, первое, что я сделал бы, это попытаться проверить связь с сервером sql и попытаться создать системный DSN с помощью odbcad32 и убедиться, что база данных доступна независимо от приложения.

Если ваша база данных не является единственным экземпляром или экземпляром по умолчанию на сервере SQL, вам может потребоваться указать имя экземпляра в строке подключения:

server=serverName\instanceName

Можно дополнительно обработать строку подключения, чтобы указать tcp / ip и номер порта SQL:

tcp:servernameorIP\instanceName,1433  

Другой метод, который может помочь предоставить больше информации, - это выполнить некоторые другие тесты в вашем global.asax.cs, независимо от доступа к базе данных, который использует tring соединений, таких как проверка связи с сервером sql и попытка установить простое tcp-соединение с SQL-сервер на 1433.