SqlConnection.Open Method

Opens a database connection with the property settings specified by the ConnectionString.

Namespace: System.Data.SqlClient
Assembly: System.Data (in system.data.dll)

public override void Open ()
public void Open ()
public override function Open ()

Exception typeCondition


Cannot open a connection without specifying a data source or server.


The connection is already open.


A connection-level error occurred while opening the connection. If the Number property contains the value 18487 or 18488, this indicates that the specified password has expired or must be reset. See the ChangePassword method for more information.

The SqlConnection draws an open connection from the connection pool if one is available. Otherwise, it establishes a new connection to an instance of SQL Server.


If the SqlConnection goes out of scope, it is not closed. Therefore, you must explicitly close the connection by calling Close.


If you specify a port number other than 1433 when you are trying to connect to an instance of SQL Server and using a protocol other than TCP/IP, the Open method fails. To specify a port number other than 1433, include "server=machinename,port number" in the connection string, and use the TCP/IP protocol.


The .NET Framework Data Provider for SQL Server requires the Security permission with "Allows calls to unmanaged assemblies" enabled (SecurityPermission with SecurityPermissionFlag set to UnmanagedCode) to open a SqlConnection with SQL Debugging enabled.

The following example creates a SqlConnection, opens it, and displays some of its properties. The connection is automatically closed at the end of the using block.

private static void OpenSqlConnection(string connectionString)
    using (SqlConnection connection = new SqlConnection(connectionString))
        Console.WriteLine("ServerVersion: {0", connection.ServerVersion);
        Console.WriteLine("State: {0", connection.State);

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0