Не удается подключиться к серверу базы данных

#c# #sql #wcf

#c# #sql #wcf

Вопрос:

Я столкнулся с проблемой с моим подключением к базе данных. Я начал с нового пустого решения, затем добавил проект библиотеки WCF и последнее, но не менее важное — веб-сайт (сервис) WCF. На веб-сайте я добавил ссылку на библиотеку, где у меня есть интерфейс (контракт данных), класс, который реализует интерфейс, и классы данных. что я пытаюсь сделать, так это подключиться к базе данных на сервере и попытаться извлечь оттуда некоторые данные. Итак, строка подключения выглядит следующим образом:

     <add name="myConnectionString" connectionString="Data Source=MyServer; Initial Catalog=MyDatabase; User Id=me; Password=me123;" providerName="System.Data.SqlClient" />
  

и вот как я пытаюсь подключиться к базе данных:

     public List<string> GetEngagements(string id)
    {
        string sql = "SELECT myColumn FROM myTable WHERE Id = '"   id   "'";
        string connString = string.Empty;
        SqlConnection connDB;
        connString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
        connDB = new SqlConnection(connString);
        SqlCommand command = new SqlCommand(sql, connDB);
        connDB.Open();
        SqlDataReader rdr = command.ExecuteReader();
        List<string> numbers = new List<string>();

        while (rdr.Read())
        {
            numbers.Add(rdr[0].ToString());
        }
        rdr.Close();

        return numbers;
    }
  

Я получаю исключение в connDB.Open ().
Затем сообщение об исключении гласит:
Не удалось сгенерировать пользовательский экземпляр SQL Server из-за сбоя при запуске процесса для пользовательского экземпляра. Соединение будет закрыто.

Я получаю это сообщение уже 2 дня, я много гуглил и удалил C:Documents и Настройки имя пользователя Локальные настройки Данные приложения Microsoft Данные Microsoft SQL Server Каталог SQLEXPRESS, но у меня это не сработало..

Есть решение???? помогите, пожалуйста

Комментарии:

1. Если вы зайдете в свою панель управления> административные инструменты> службы, вы должны увидеть свой sql server express. Это запущено? иногда это просто что-то вроде этого, всем приятного времяпрепровождения 🙂

Ответ №1:

Сообщение об ошибке:

Не удалось сгенерировать пользовательский экземпляр SQL Server из-за сбоя при запуске процесса для пользовательского экземпляра.

Предполагает, что вы используете создание экземпляра пользователя, и поэтому ваша строка подключения будет указывать на .mdf файл на диске, а не на имя базы данных.

Итак, я предположу, что вы хотите подключиться к файловому экземпляру, а не к экземпляру сервера.

Я также предположу, что вы используете SqlExpress, а не полную версию fat.

В этом случае ваша строка подключения неверна. Это должно выглядеть примерно так:

 "Data Source=.SQLEXPRESS;
 AttachDbFilename=fileOnDisk.mdf;
 Integrated Security=True;
 User Instance=True;"
  

Создание экземпляра пользователем означает, что этот экземпляр сервера и база данных внутри будут видны только приложению, открывающему строку подключения.

Вам не обязательно использовать создание экземпляра пользователя — вы можете установить User Instance=False или просто не использовать это. Затем, как только приложение установит соединение, вы можете подключить другие инструменты к экземпляру сервера и самостоятельно подключиться к базе данных.