1

我正在为我们的大学项目使用 VB 2008 Express。我也在运行 SQL Server 2008 Express 并安装了 SQL Server Management Studio 并用它来创建我的数据库。

这两个软件都已安装并在本地运行。我正在尝试从 VB 2008 Express 连接到数据库。数据库连接向导有 3 个选项:

  1. 连接到访问数据库
  2. 连接到 SQL Server 3.5 compact db 和
  3. 连接到 SQL Server db 文件。

连接到前两个没有问题,但是当我尝试连接到我的 SQL Server DB 文件 (.mdf) 时,它会引发以下错误(“无法打开物理文件 .... 操作系统错误 32:(失败为此错误检索文本。原因:1815.......尝试为文件附加自动命名的数据库...... .mdf 失败。存在同名的数据库,或者指定的文件不能打开,或者它位于 UNC 共享")

如果有相同经验并克服问题的人能指出我正确的方向,我将不胜感激。

非常感谢。小动物。

4

1 回答 1

2

您需要将数据库与服务器分离。由于您在那里创建了该文件,因此它已经在 SQL Express 服务器上运行。操作系统错误 32 是共享冲突,这意味着该文件正在使用中。

尝试这个:

  1. 打开 Sql Express 2008 Managment Studio 并在对象资源管理器树中找到您的数据库。
  2. 右键单击您的数据库,选择任务,然后选择“分离”
  3. 当“分离数据库”对话框出现时,选中“删除连接”复选框
  4. 单击确定。

您的数据库应该与数据库服务器分离。现在服务器将不再自动启动该数据库,您应该能够获得对它的独占访问权限。

请注意,如果您想对 MDF 进行更多编辑,则必须重新附加数据库,否则您将需要使用 VB 2008 Express 中内置的工具。正因为如此,大多数人会选择让数据库保持连接状态,而不是将其作为“用户实例”运行。查看此链接以了解获取数据的替代方法:如何:访问和初始化服务器资源管理器/数据库资源管理器

无论如何,您可能有理由以这种方式进行设置。上面概述的步骤应该可以解决您的问题。祝你的项目好运!

于 2010-03-06T15:25:38.020 回答