【问题标题】:How to add SQL Server database file (.mdf) in Visual Studio without installing SQL Server Express Edition?如何在不安装 SQL Server Express Edition 的情况下在 Visual Studio 中添加 SQL Server 数据库文件 (.mdf)?
【发布时间】:2012-02-25 23:52:19
【问题描述】:

在 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 企业版

我正在使用 Visual Studio 2010 Ultimate

【问题讨论】:

  • 这个问题以前有人问过,见stackoverflow.com/questions/4650183/…
  • attach an .mdf file 选项仅在 SQL Server 的 EXPRESS 版本中可用 - 所有其他版本(Web、标准、企业) 是否支持此选项。如果你有完整版的 SQL Server,你需要在服务器上创建数据库,然后使用服务器连接字符串连接到它
  • @marc_s 这就是答案!!!我一直在尝试了解为什么我的 SQL Server 许可版本被 Visual Studio surprssed 以及对 SQL Express 的需求......所以对我来说,解决方案是通过 conn String 连接......谢谢亲.

标签: c# asp.net .net sql-server visual-studio-2010


【解决方案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 完整服务器实例,那么你提到的错误就消失了。

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

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

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

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

【讨论】:

  • 首先感谢您的回复。如果我在我的 PC 上开发的其他 PC 上运行我开发的应用程序,则不想恢复或附加 mdf 文件。如果您从网站下载示例代码然后有些人配置应用程序很烦人(意味着恢复 db 或附加 mdf 文件并配置连接字符串等)
  • 这一切都取决于 - 你可能会争辩说这些 MDF 文件是你项目的依赖项,并且像任何依赖项一样,你必须以某种方式包含它们。祝你好运!
【解决方案2】:

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

  1. 安装 sql express 2008 r2
  2. 在 Visual Studio 2010 中转到 Tools -&gt; Options
  3. 选择Database Tools -&gt; Data Connections 并使用您的数据库的实例名称更新Sql Server Instance Name (blank for default)
  4. 然后按 ⊞Win + Rservices.msc 转到服务
  5. 选择SQL Server (&lt;instance name of express edition&gt;),右键选择Properties
  6. 然后在服务的属性窗口中转到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();
                } 
            }
    

    【讨论】:

      猜你喜欢
      • 2021-06-10
      • 1970-01-01
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多