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

Я работаю над сайтом C# MVC4 и пытаюсь опубликовать его на общедоступной учетной записи хостинга Windows 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?

1 ответ

Решение

Я предполагаю, что они не предоставляют доступ RDP. Если это так, первое, что я хотел бы сделать, это попытаться пропинговать сервер sql и попытаться создать системный DSN с использованием odbcad32 и убедиться, что база данных доступна независимо от приложения.

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

server=serverName\instanceName

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

tcp:servernameorIP\instanceName,1433  

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

Другие вопросы по тегам