Проблемы с публикацией сайта 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.