无法连接到Sql Server Express数据库

时间:2011-01-17 16:33:23

标签: c# sql sql-server

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

  

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

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

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

4 个答案:

答案 0 :(得分:2)

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

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

实例名称通常为.\SqlExpress

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

如果您在SQL Server中创建了一个数据库,则可能已将其附加。在Visual Studio中,您无法将此数据库作为文件访问。您必须将其作为附加数据库(即其名称)进行访问。

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

答案 3 :(得分:0)

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