Share via


SqlConnection.Open Method

Definition

Overloads

Open()

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

Open(SqlConnectionOverrides)

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

Open()

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

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

Exceptions

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

or

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(String, String) method for more information.

The <system.data.localdb> tag in the app.config file has invalid or unknown elements.

There are two entries with the same name in the <localdbinstances> section.

Examples

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.

using Microsoft.Data.SqlClient;

class Program1
{
    static void Main()
    {
        string s = GetConnectionString();

        OpenSqlConnection(s);
        Console.ReadLine();
    }

    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);
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file, using the 
        // System.Configuration.ConfigurationSettings.AppSettings property 
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI;";
    }
}

Remarks

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.

Note

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

Note

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.

Note

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.

Applies to

Open(SqlConnectionOverrides)

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

public:
 void Open(Microsoft::Data::SqlClient::SqlConnectionOverrides overrides);
public void Open (Microsoft.Data.SqlClient.SqlConnectionOverrides overrides);
override this.Open : Microsoft.Data.SqlClient.SqlConnectionOverrides -> unit
Public Sub Open (overrides As SqlConnectionOverrides)

Parameters

overrides
SqlConnectionOverrides

Options to override default connection open behavior.

Exceptions

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

or

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(String, String) method for more information.

The <system.data.localdb> tag in the app.config file has invalid or unknown elements.

There are two entries with the same name in the <localdbinstances> section.

Examples

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.

using Microsoft.Data.SqlClient;

class Program1
{
    static void Main()
    {
        string s = GetConnectionString();

        OpenSqlConnection(s);
        Console.ReadLine();
    }

    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);
        }
    }

    static private string GetConnectionString()
    {
        // To avoid storing the connection string in your code, 
        // you can retrieve it from a configuration file, using the 
        // System.Configuration.ConfigurationSettings.AppSettings property 
        return "Data Source=(local);Initial Catalog=AdventureWorks;"
            + "Integrated Security=SSPI;";
    }
}

Remarks

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 overrides are specified, the first open attempt will apply the specified overrides to the open action.

Note

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

Note

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.

Note

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.

Applies to