我安装了Sql Server Express 2008 R2,并在Sql Server管理Studio中创建了一个数据库文件。现在从Visual Studio 2008我尝试连接,但它失败了错误:
无法打开物理文件 “C:..... MDF”。操作系统错误 32:“32(进程无法访问 文件,因为它正被使用 另一个过程。)“。尝试 附加文件的自动命名数据库 C:...... mdf失败了。一个带有的数据库 存在相同的名称或指定的文件 无法打开,或它位于 UNC分享。
...这是我第一次使用Express。我之前只使用过Sql Compact Edition。这里有一些设置需要弄清楚吗?这不是其他连接的重复名称,我完全关闭了管理工作室。仍然是这个错误。我错过了什么..?
如果有一些设置,请详细说明我如何访问它们,因为我不习惯处理数据库。
答案 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)
我今天遇到了同样的问题,并猜测这个问题的原因是什么守护进程工具,所以如果你已经安装了守护进程工具,请卸载它然后重试。 希望它也能解决你的问题。