SqlConnection.Open 方法

定义

使用由 ConnectionString 指定的属性设置打开数据库连接。

public:
 override void Open();
public:
 virtual void Open();
public override void Open();
public void Open();
override this.Open : unit -> unit
abstract member Open : unit -> unit
override this.Open : unit -> unit
Public Overrides Sub Open ()
Public Sub Open ()

实现

例外

如果不指定数据源或服务器,则无法打开连接。

连接已打开。

打开连接时发生连接级别错误。 Number如果属性包含值 18487 或 18488,则表示指定的密码已过期或必须重置。 ChangePassword(String, String)有关详细信息,请参阅该方法。

<system.data.localdb>app.config 文件中的标记具有无效或未知的元素。

节中有 <localdbinstances> 两个具有相同名称的条目。

示例

以下示例创建一个 SqlConnection、打开它并显示其一些属性。 连接在块的 using 末尾自动关闭。

private static void OpenSqlConnection(string connectionString)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("State: {0}", connection.State);
    }
}
Private Sub OpenSqlConnection(ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        connection.Open()
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion)
        Console.WriteLine("State: {0}", connection.State)
    End Using
End Sub

注解

如果连接池可用,则会 SqlConnection 从连接池中绘制一个打开的连接。 否则,它将建立与SQL Server实例的新连接。

注释

SqlConnection如果超出范围,则不会关闭。 因此,必须通过调用 Close显式关闭连接。

注释

如果尝试连接到SQL Server的实例并使用 TCP/IP 以外的协议时指定除 1433 以外的端口号,则 Open 方法将失败。 若要指定除 1433 以外的端口号,请在连接字符串中包含“server=machinename,端口号”,并使用 TCP/IP 协议。

注释

SQL Server的 .NET Framework Data Provider要求启用“允许调用非托管程序集”的安全权限(设置为 < 设置为 ) 以打开启用了 SQL 调试的

适用于

另请参阅