C#/sqlserver-can';一个数据库不能同时有两个连接?

C#/sqlserver-can';一个数据库不能同时有两个连接?,c#,sql,sql-server,C#,Sql,Sql Server,如果将SQL Server Management Studio打开到我的数据库,我将无法在我的C#程序中打开该数据库,因为它将抛出错误。我必须关闭Management Studio中的连接 有没有一种方法可以通过多个连接连接到单个数据库 这只是我正在使用的计算机上的本地.mdf文件。您应该避免直接连接到.mdf文件。让SQL Server托管数据库,然后从那里而不是从文件连接到数据库。问题在于您连接的是一个用户实例,该实例仅为单用户,通常仅用于开发: 用户实例场景包括: 不需要共享数据的任何单

如果将SQL Server Management Studio打开到我的数据库,我将无法在我的C#程序中打开该数据库,因为它将抛出错误。我必须关闭Management Studio中的连接

有没有一种方法可以通过多个连接连接到单个数据库


这只是我正在使用的计算机上的本地
.mdf
文件。

您应该避免直接连接到.mdf文件。让SQL Server托管数据库,然后从那里而不是从文件连接到数据库。

问题在于您连接的是一个用户实例,该实例仅为单用户,通常仅用于开发:

用户实例场景包括:

  • 不需要共享数据的任何单用户应用程序
参考:

因此,默认SQL Server实例在Management Studio会话中打开了数据库。当您的程序创建一个新实例时,它无法访问数据库文件,因为它是用另一个实例打开的


您可以尝试在Visual Studio中使用服务器工具而不是Management Studio来管理数据库。

为什么不发布错误消息?谢谢,“它会抛出一个错误”太模糊了,帮不了你。错误是什么?它是什么类型的数据库连接?您的SSMS连接可能处于强制单用户模式吗?你到底是怎么联系的?例如,连接字符串是什么?见鬼,这是什么类型的SQL Server?满了吗?快车?总工程师?LocalDB?错误消息显示“无法打开用户默认数据库。登录失败”。我正在使用sql express 2012,我的连接字符串是“数据源=。\SQLEXPRESS;AttachDbFilename=C:\Users\SomeAppDb.mdf;Integrated Security=True;Connect Timeout=30;user Instance=True”。可能我错了,但您确定一个连接限制吗?看看其他问答:@MatíasFidemraizer你是对的,这显然是在旧版本中。问题(我理解)在于用户实例模式。编辑答案