不需要手动关闭和断开 SQL Server 管理对象(SMO)对象。 连接会根据需要打开和关闭。
连接池
Connect调用该方法时,不会自动释放连接。 Disconnect必须显式调用该方法才能释放到连接池的连接。 此外,还可以请求非共用连接。 通过设置NonPooledConnection引用ServerConnection对象的属性的属性ConnectionContext来执行此作。
断开与 RMO 的 SQL Server 实例的连接
使用 RMO 编程时关闭服务器连接的工作方式与 SMO 略有不同。
由于 RMO 对象的服务器连接由 ServerConnection 该对象维护,因此在使用 RMO 编程时,也会使用此对象与 Microsoft SQL Server 实例断开连接。 若要使用 ServerConnection 对象关闭连接,请调用 Disconnect RMO 对象的方法。 连接关闭后,无法使用 RMO 对象。
示例:
若要使用提供的任何代码示例,必须选择要在其中创建应用程序的编程环境、编程模板和编程语言。 有关详细信息,请参阅 SQL Server 联机丛书中的“如何:在 Visual Studio .NET 中创建 Visual Basic SMO 项目”或“如何:在 Visual Studio .NET 中创建 Visual C# SMO 项目”。
在 Visual Basic 中关闭和断开 SMO 对象
此代码示例演示如何通过设置 NonPooledConnection 对象属性的属性 ConnectionContext 来请求非共用连接。
在 Visual C 中关闭和断开 SMO 对象#
此代码示例演示如何通过设置 NonPooledConnection 对象属性的属性 ConnectionContext 来请求非共用连接。
{
Server srv;
srv = new Server();
//Disable automatic disconnection.
srv.ConnectionContext.AutoDisconnectMode = AutoDisconnectMode.NoAutoDisconnect;
//Connect to the local, default instance of SQL Server.
srv.ConnectionContext.Connect();
//The actual connection is made when a property is retrieved.
Console.WriteLine(srv.Information.Version);
//Disconnect explicitly.
srv.ConnectionContext.Disconnect();
}