Как добавить файл базы данных SQL Server (.mdf) в Visual Studio без установки SQL Server Express Edition? - PullRequest
11 голосов
/ 03 февраля 2012

У меня ошибка при добавлении файла .mdf (база данных SQL Server) в проект Visual Studio 2010

Для подключения к файлам базы данных SQL Server (.mdf) требуется SQL Server 2005 Express или SQL Server 2008 Express для установки и запуска на локальный компьютер

Я не хочу устанавливать SQL Server Express (2005/2008), потому что я уже установил SQL Server 2005 Enterprise Edition

Я использую Visual Studio 2010 Ultimate

Ответы [ 3 ]

11 голосов
/ 03 февраля 2012

Это действительно раздражает.По сути, в Machine.config для версии фреймворка, для которого вы разрабатываете, есть запись для LocalSqlServer.

На моем компьютере, для версии 4:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ Machine.config

<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />

Я обнаружил, что если я изменил часть источника данных строки подключения, указав на мой полный экземпляр сервера Sql 2005, то возникнет ошибкаВы упомянули, что ушли.

(Аналогично для других версий фреймворка, который я также изменил)

Я не могу вспомнить, нужно ли было перезапускать только Visual Studio или всю машину, прежде чем яувидел, что изменения сработали.

Не забудьте сделать резервную копию ваших файлов machine.config перед их редактированием!

С учетом вышесказанного также нет причин, по которым вы не можете добавить базу данных в Sql Server.сам (если у вас есть mdf), затем подключитесь к нему из Visual Studio через View -> Server Explorer -> Data Connections (Правый клик -> Add Connection) - вы пробовали это?

1 голос
/ 17 октября 2014

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

  1. Установка sql express 2008 r2
  2. В visual studio 2010 перейдите на Tools -> Options
  3. Выберите Database Tools -> Data Connections и обновите Sql Server Instance Name (blank for default) именем экземпляра вашей базы данных.
  4. Затем перейдите к услугам, нажав ⊞Win + R и services.msc
  5. Выберите SQL Server (<instance name of express edition>), щелкните правой кнопкой мыши и выберите Properties
  6. Затем в окне свойств сервиса перейдите на вкладку Log On и выберите Local System account

После этих шагов я смог добавить файл .mdf в visual studio 2010.

Также, возможно, можно сделать это без установки Sql server express, просто начиная со второго шага, но я не пробовал.

0 голосов
/ 12 мая 2016

Вы можете использовать код, чтобы добавить, что если не существует

string curFile = @"C:\Dev\Test_data.mdf";
        if (!File.Exists(curFile))
        {
            SqlConnection connection = new SqlConnection(@"server=(localdb)\v11.0");
            using (connection)
            {
                connection.Open();

                string sql = string.Format(@"
                                    CREATE DATABASE
                                        [Test]
                                    ON PRIMARY (
                                       NAME=Test_data,
                                       FILENAME = '{0}\Test_data.mdf'
                                    )
                                    LOG ON (
                                        NAME=Test_log,
                                        FILENAME = '{0}\Test_log.ldf'
                                    )",
                    @"C:\Dev"
                );

                SqlCommand command = new SqlCommand(sql, connection);
                command.ExecuteNonQuery();
            } 
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...