【问题标题】:Unable to connect to Sql Server Express database无法连接到 Sql Server Express 数据库
【发布时间】:2011-01-17 16:33:22
【问题描述】:

我安装了 Sql Server Express 2008 R2,并在 Sql Server management Studio 中创建了一个数据库文件。现在从 Visual Studio 2008 我尝试连接,但它失败了 error:

无法打开物理文件 “C:......mdf”。操作系统错误 32: "32(进程无法访问 文件,因为它正在被 另一个过程。)”。尝试 为文件附加一个自动命名的数据库 C:....mdf 失败。一个数据库与 存在同名或指定文件 无法打开,或者它位于 UNC 共享。

...这是我第一次使用 Express。我之前只用过 Sql Compact Edition。这里有一些我需要弄清楚的设置吗?这不是其他连接的重名,我已经完全关闭了管理工作室。还是这个错误。我错过了什么..?

如果有一些设置,请详细说明我是如何访问它们的,因为我不习惯处理数据库。

【问题讨论】:

  • 从快速谷歌搜索你是否关闭了防病毒扫描程序?
  • 错误信息是抱怨 mdf 文件 -- 检查路径,确认文件存在并且权限允许访问它。

标签: c# sql sql-server


【解决方案1】:

SQL CE 是基于文件的数据库 - SQL Express 不是。

这是一个 SQL Server - 您可以在 Visual Studio 中使用 Server Explorer 添加它。

实例名称通常为.\SqlExpress

【讨论】:

  • 啊,你去吧,2个错误中的2个..现在就像一个魅力! :)
【解决方案2】:

我今天遇到了同样的问题,猜猜是什么守护程序工具导致了这个问题,所以如果你安装了守护程序工具,请卸载它然后重试。 希望它也能解决你的问题。

【讨论】:

    【解决方案3】:

    您不想使用 mdf 进行连接。您要做的是打开一个SqlClient.SqlConnection,然后使用SqlClient.SqlCommand 对数据库执行查询,然后使用SqlClient.DataReader 读取信息,就像使用一个SqlCE 数据库一样。

    如果您尝试将其添加到服务器资源管理器中,您只需像在 SSMS (Management Studio) 中一样连接到数据库,然后您就可以在您的项目中使用它。

    【讨论】:

      【解决方案4】:

      如果您在 SQL Server 中创建了一个数据库,您可能已经附加了它。在 Visual Studio 中,您不能将此数据库作为文件访问。您必须以附加数据库的形式访问它(即通过其名称)。

      通常您可以在文件中使用数据库,也可以在 Express 版本中使用。如果您出于某种原因想直接使用文件,请转到 Management Studio,右键单击您的数据库并将其分离。然后您可以从 Visual Studio 以文件为基础连接到它。

      【讨论】:

      • 哦,很高兴知道!谢谢!我需要关心日志文件 (.ldf) 还是可以直接拖动 .mdf 文件?
      • 您不能“拖动” mdf 文件!我认为当你在 Management Studio 中分离它时,它的 ldf 兄弟会解散。然后你就可以移动它了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多