【问题标题】:Cannot connect to local mdf database C#无法连接到本地 mdf 数据库 C#
【发布时间】:2014-04-01 17:37:10
【问题描述】:

我的解决方案中添加了一个数据库文件:

但是当我尝试添加连接时,出现上述错误:

使用 localhost 时出现不同的错误:

使用“.”时出错作为服务器名称

我已通过 Nuget 将实体框架添加到解决方案并安装了以下内容:

而且 Sql express 似乎也在运行。

关于我为什么会收到此错误或如何解决它的任何想法?

【问题讨论】:

  • 如果您输入localhost 作为服务器名称并尝试连接,是否有效?
  • 正如错误提示的那样,您应该检查您的 Windows 应用程序事件日志。它说什么?
  • @drew_w 犯了一个不同的错误,见上面的截图
  • @KyleHale 我在哪里可以找到事件日志?
  • @BrianPeach 试试不带\v11.0。然后会发生什么?

标签: c# sql database mdf


【解决方案1】:

您似乎忘记了服务器名称中的斜杠。

你有(localdb)v11.0。请改用(localdb)\v11.0。

【讨论】:

  • 尝试了你的修复,得到了同样的错误(更新上面的截图)
【解决方案2】:

sql server 的标准连接字符串基本上是:

Server=<ADDRESS>\<INSTANCE>;Initial Catalog=<DATABASE>;User ID=<USER>;Password=<PASS>;

因此,如果您查看此内容,您现在遇到的问题是其中的 address\instance 部分。此处的默认设置是服务器地址为“localhost”,实例名称为“sqlexpress”或空白(没有实例名称,这意味着您不需要服务器地址后面的斜杠)。如果您不确定如何安装它,您可以按照以下说明找到您的实例名称:http://social.msdn.microsoft.com/Forums/en-US/bb7ce542-be81-436a-bcd0-e6590f7ea003/instance-names-of-the-sql-server-?forum=sqlkjmanageability。

祝你好运!

【讨论】:

    【解决方案3】:

    尝试只使用“.” (不带引号)作为服务器名称。这应该代表您本地的 sqlexpress 实例

    编辑:

    我认为您需要将 MDF 导入本地 SQL 实例,而不是将其添加到您的项目中。如果您想创建嵌入式数据库,文件扩展名将是 SDF 而不是 MDF。

    您可以通过将 mdf 文件添加到文件夹中来做到这一点

    C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA

    然后在 SQL Management Studio 中附加数据库

    或者使用 SQL 导入

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多