Как добавить файл базы данных SQL Server (.mdf) в Visual Studio без установки SQL Server Express Edition?
У меня ошибка при добавлении файла .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
Ответы
Ответ 1
Это действительно раздражает. В основном, в 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, то указанная вами ошибка исчезла.
(Аналогично для других версий фреймворка, которые я также изменил)
Я не могу вспомнить, нужно ли мне перезапускать только визуальную студию или всю машину, прежде чем я увижу, что изменения работают.
Не забудьте выполнить резервное копирование файлов machine.config перед их редактированием!
С учетом сказанного также нет причин, по которым вы не можете добавить базу данных в сам сервер Sql (если у вас есть mdf), затем подключитесь к нему из Visual Studio через View → Server Explorer → Data Connections ( Щелкните правой кнопкой мыши → Добавить соединение) - вы пробовали это?
Ответ 2
Я знаю, что этот пост немного стар, но я столкнулся с той же проблемой, и я действительно нашел решение, поэтому хотел бы поделиться им.
- Установить sql express 2008 r2
- В visual studio 2010 перейдите к
Tools -> Options
- Выберите
Database Tools -> Data Connections
и обновите Sql Server Instance Name (blank for default)
с именем экземпляра вашей базы данных.
- Затем перейдите к услугам, нажав ⊞Win + R и
services.msc
- Выберите
SQL Server (<instance name of express edition>)
, щелкните правой кнопкой мыши и выберите Properties
- Затем в окне свойств службы перейдите на вкладку
Log On
и выберите Local System account
После этих шагов я смог добавить файл .mdf
в visual studio 2010.
Возможно, возможно это сделать, не устанавливая Sql server express, только начиная со второго шага, но я не пробовал.
Ответ 3
вы можете использовать код для добавления, если не существует
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();
}
}