Я работал над веб-сайтом 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.