Проект использует EntityFramework Code First.
Строка подключения задана в отдельном классе:
public class ConnectionStrings
{
public static readonly string connstr = @"Server=PC\SQLEXPRESS;Database=ApacheServerLog;Trusted_Connection=True;MultipleActiveResultSets=true";
}
Конструктор контекста :
public LogDataContext(string constr)
: base(constr)
{
Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<LogDataContext>());
}
Создание экземпляра контекста:
public LogDataRepository()
{
DB = new LogDataContext(ConnectionStrings.ConnectionStrings.connstr);
}
У меня на машине все работает.
У работодателя (это тестовое задание) - исключение Error 26: error locating server/instance specified
Вопрос: Можно ли как-то настроить универсальную строку подключения, которая будет работать на всех машинах с MSSQL?
Можно ли как-то настроить универсальную строку подключения, которая будет работать на всех машинах с MSSQL
Нельзя. MSSQL умеет устанавливатся в систему под разными именами экземпляров (instance), и настройки имени экземпляра по умолчанию у Express Edition (имя-машины\SQLEXPRESS, или .\SQLEXPRESS) отличаются от настройки имени экземлпяра у не-Express Edition (безымянный экземпляр, имя-машины, .).
Можно попробовать построить connection string поиском локальных экземпляров
SmoApplication.EnumAvailableSqlServersTrusted_Connection=True. Но этот способ сработает только в случае, если у текущего пользователя будет доступ у установленному экземпляру, так что результат не гарантирован.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости