如何在Visual Studio中添加SQL Server数据库文件(.mdf)而不安装SQL Server Express Edition?

我在Visual Studio 2010项目中添加.mdf文件(SQL Server数据库)下面有一个错误

与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

这真是令人讨厌的一个。 基本上,在您正在开发的框架版本的Machine.config中,有一个LocalSqlServer条目。

在我的机器上,版本4:

C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ CONFIG \ Machine.config中

  

我发现如果我将连接字符串的数据源部分更改为指向我的Sql 2005完整服务器实例,那么您提到的错误就会消失。

(类似于框架的其他版本,我也改变了)

在看到更改工作之前,我不记得是否需要重新启动visual studio或整个机器。

记得在编辑之前备份machine.config文件!

话虽如此,也没有理由不能将数据库添加到Sql Server本身(如果你有mdf),然后通过View – > Server Explorer – > Data Connections(右键单击 – 从Visual Studio连接到它) >添加连接) – 你试过吗?

我知道这篇文章有点老但我遇到了同样的问题,我实际上找到了一个解决方案,所以我想分享它。

  1. 安装sql express 2008 r2
  2. 在visual studio 2010中,转到Tools -> Options
  3. 选择Database Tools -> Data Connections并使用Database Tools -> Data Connections Sql Server Instance Name (blank for default)更新Sql Server Instance Name (blank for default)
  4. 然后按⊞Win + Rservices.msc 进入 services.msc
  5. 选择SQL Server () ,右键单击并选择“ Properties
  6. 然后在服务的属性窗口中,转到“ Log On选项卡,然后选择“ Local System account

在这些步骤之后,我能够将.mdf文件添加到visual studio 2010中。

也许可以在不安装Sql server express的情况下完成,只需从第二步开始,但我没有尝试过。

如果不存在,您可以使用代码添加

 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(); } }