Condividi tramite


SqlConnection.Open Metodo

Definizione

Overload

Open()

Apre una connessione a un database con le impostazioni delle proprietà specificate dalla proprietà ConnectionString.

Open(SqlConnectionOverrides)

Apre una connessione a un database con le impostazioni delle proprietà specificate dalla proprietà ConnectionString.

Open()

Apre una connessione a un database con le impostazioni delle proprietà specificate dalla proprietà ConnectionString.

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

Eccezioni

Non è possibile stabilire una connessione senza specificare un'origine dati o un server.

oppure

Connessione già aperta.

Errore a livello di connessione durante l'apertura della stessa. Se la proprietà Number contiene il valore 18487 o 18488, indica che la password specificata è scaduta o deve essere reimpostata. Per altre informazioni, vedere il metodo ChangePassword(String, String) .

Il tag <system.data.localdb> nel file app.config contiene elementi non validi o sconosciuti.

Esistono due voci con lo stesso nome nella sezione <localdbinstances>.

Esempio

Nell'esempio seguente viene creato un SqlConnectionoggetto , aperto e vengono visualizzate alcune delle relative proprietà. La connessione viene chiusa automaticamente alla fine del using blocco.

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

Commenti

Disegna SqlConnection una connessione aperta dal pool di connessioni, se disponibile. In caso contrario, stabilisce una nuova connessione a un'istanza di SQL Server.

Nota

Se l'oggetto esce dall'ambito SqlConnection , non viene chiuso. Pertanto, è necessario chiudere in modo esplicito la connessione chiamando Close.

Nota

Se si specifica un numero di porta diverso da 1433 quando si tenta di connettersi a un'istanza di SQL Server e si usa un protocollo diverso da TCP/IP, il Open metodo ha esito negativo. Per specificare un numero di porta diverso da 1433, includere "server=machinename, numero di porta" nella stringa di connessione e usare il protocollo TCP/IP.

Nota

Il provider di dati .NET Framework per SQL Server richiede l'autorizzazione Di sicurezza con "Consente le chiamate a assembly non gestiti" abilitati (SecurityPermission con impostato su UnmanagedCode) per aprire un SqlConnection con SecurityPermissionFlag debug SQL abilitato.

Si applica a

Open(SqlConnectionOverrides)

Apre una connessione a un database con le impostazioni delle proprietà specificate dalla proprietà 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)

Parametri

overrides
SqlConnectionOverrides

Opzioni per eseguire l'override del comportamento di apertura della connessione predefinita.

Eccezioni

Non è possibile stabilire una connessione senza specificare un'origine dati o un server.

oppure

Connessione già aperta.

Errore a livello di connessione durante l'apertura della stessa. Se la proprietà Number contiene il valore 18487 o 18488, indica che la password specificata è scaduta o deve essere reimpostata. Per altre informazioni, vedere il metodo ChangePassword(String, String) .

Il tag <system.data.localdb> nel file app.config contiene elementi non validi o sconosciuti.

Esistono due voci con lo stesso nome nella sezione <localdbinstances>.

Esempio

Nell'esempio seguente viene creato un SqlConnectionoggetto , aperto e vengono visualizzate alcune delle relative proprietà. La connessione viene chiusa automaticamente alla fine del using blocco.

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

Commenti

Disegna SqlConnection una connessione aperta dal pool di connessioni, se disponibile. In caso contrario, stabilisce una nuova connessione a un'istanza di SQL Server. Se vengono specificate le sostituzioni, il primo tentativo di apertura applicherà le sostituzioni specificate all'azione di apertura.

Nota

Se l'oggetto esce dall'ambito SqlConnection , non viene chiuso. Pertanto, è necessario chiudere in modo esplicito la connessione chiamando Close.

Nota

Se si specifica un numero di porta diverso da 1433 quando si tenta di connettersi a un'istanza di SQL Server e si usa un protocollo diverso da TCP/IP, il Open metodo ha esito negativo. Per specificare un numero di porta diverso da 1433, includere "server=machinename, numero di porta" nella stringa di connessione e usare il protocollo TCP/IP.

Nota

Il provider di dati .NET Framework per SQL Server richiede l'autorizzazione Di sicurezza con "Consente le chiamate a assembly non gestiti" abilitati (SecurityPermission con impostato su UnmanagedCode) per aprire un SqlConnection con SecurityPermissionFlag debug SQL abilitato.

Si applica a