【发布时间】:2015-01-13 13:48:56
【问题描述】:
我在 Visual Studio 2008 中使用 C# 在我的 PC 上循环遍历 MDF 文件并从中提取数据。我正在使用表适配器指向本地 MDF 文件。
最近我的一台电脑拒绝让我附加任何新的数据源,因为它说
System.Data.SqlClient.SqlException:无法创建/附加任何新数据库,因为现有数据库的数量已达到 允许的最大数量:32766
即使我启动一个新的 Windows 应用程序并尝试将 MDF 文件(在我的桌面上)添加到它作为数据源,我也会收到上述错误。
谁能告诉我如何移除/删除现有的连接?
我的代码在另一台 PC 上运行良好,我在我的 PC 上重新安装了 Visual Studio,但仍然出现此错误。
C# 表适配器代码:
tmTableAdapter.Connection.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename='" + pathofmdffile + "';Integrated Security=True;Connect Timeout=30;User Instance=True";
tmTableAdapter.Connection.Open();
【问题讨论】:
-
你做过
tmTableAdapter.Connection.Close()吗? -
重新安装 VS 无济于事,因为错误来自 SQL Server。如果您连接到 SSMS 中的 SQLEXPRESS 实例并查看 Databases 文件夹,您是否看到全部 32,766 个?您可能需要将它们分离。
-
谢谢,是的,我在 C# 代码后面的三行中执行了 tmTableAdapter.Connection.Close()。当我打开 SSMS 并连接到 MYCOMPUTERNAME\SQLEXPRESS 并查看 Databases\System Databases 时,我看到 4 个 DB(master、model、msdb 和 tempdb)我应该在哪里查看(抱歉,对 SQL Server 不太熟悉)
-
@JohnSaunders 即使在关闭连接后,数据库仍保持连接状态。我在回答中详细说明了如何摆脱它们。
标签: c# sql sql-server sql-server-express user-instance