Я создал свой веб-сайт на ASP.NET MVC4 с использованием базы данных mssql, я развернул его на своем локальном сервере IIS 7, и он работает нормально, но когда я делаю то же самое на виртуальном сервере hostgator.com, он выдает мне эту ошибку.
И попробовал 1000 строк соединений и все равно не добился успеха.
Это странно, потому что я проделал то же самое на своей локальной машине, но она все еще не может подключиться к серверу.
Я работаю над этой проблемой последние 24 часа и не могу найти решение этой проблемы.
Я связался со службой технической поддержки, и они сказали, что это выходит за рамки их поддержки, и они не могут мне с этим помочь.
Я сделал все, чтобы эта ошибка исчезла, потому что у меня была такая же ошибка на моей локальной машине, но когда я ее правильно настроил, она сработала, а не на виртуальном сервере.
Произошла ошибка, связанная с сетью или конкретным экземпляром, при установке соединения с SQL Server. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: Сетевые интерфейсы SQL, ошибка: 26 - Ошибка при обнаружении указанного сервера / экземпляра)
Таким образом, в основном проблема не была в строке подключения внутри web.config, это была проблема структуры сущностей.
Мы начали разрабатывать наш проект на localhost, а когда закончили, развернули сайт на hostgator.com, проблема была в том, что entityframework контролировал все строки соединения, поэтому было бесполезно вообще что-либо менять в web.config.
Вот адрес, по которому мы нашли решение: http://msdn.microsoft.com/en-us/library/bb739017.aspx
Вот решение:
namespace Finance.Models
{
// This constructor is the solution
public class FinanceDataContext : DbContext
{
public FinanceDataContext()
{
this.Database.Connection.ConnectionString = "Data Source=servername;Initial Catalog=databasename;User ID=sql_username;Password=**********";
}
public DbSet<Administrator> Administrators { get; set; }
public DbSet<News> News { get; set; }
public DbSet<User> Users { get; set; }
public DbSet<Plan> Plans { get; set; }
public DbSet<Withdraw> Withdraws { get; set; }
}
}
Информации об этом не было, мы по чистой случайности наткнулись на некоторую ошибку в структуре сущностей и через 30 минут пришли к выводу, что инфраструктура сущностей контролирует соединение с базой данных.
Я на 100% уверен, что у кого-то будет такая же проблема, поэтому, если вы можете отредактировать этот вопрос, чтобы его видели все.