Udostępnij za pośrednictwem


SqlConnection.Open Metoda

Definicja

Przeciążenia

Open()

Otwiera połączenie bazy danych z ustawieniami właściwości określonymi przez ConnectionStringelement .

Open(SqlConnectionOverrides)

Otwiera połączenie bazy danych z ustawieniami właściwości określonymi przez ConnectionStringelement .

Open()

Otwiera połączenie bazy danych z ustawieniami właściwości określonymi przez ConnectionStringelement .

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

Wyjątki

Nie można otworzyć połączenia bez określania źródła danych lub serwera.

lub

Połączenie jest już otwarte.

Wystąpił błąd na poziomie połączenia podczas otwierania połączenia. Number Jeśli właściwość zawiera wartość 18487 lub 18488, oznacza to, że określone hasło wygasło lub musi zostać zresetowane. Aby uzyskać więcej informacji, zobacz metodę ChangePassword(String, String) .

Tag <system.data.localdb> w pliku app.config ma nieprawidłowe lub nieznane elementy.

W sekcji znajdują się dwa wpisy o tej samej nazwie <localdbinstances> .

Przykłady

Poniższy przykład tworzy obiekt SqlConnection, otwiera go i wyświetla niektóre jego właściwości. Połączenie jest automatycznie zamykane na końcu using bloku.

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

Uwagi

Metoda SqlConnection pobiera otwarte połączenie z puli połączeń, jeśli jest dostępna. W przeciwnym razie ustanawia nowe połączenie z wystąpieniem SQL Server.

Uwaga

Jeśli zakres SqlConnection wykracza poza zakres, nie jest zamknięty. W związku z tym należy jawnie zamknąć połączenie, wywołując metodę Close.

Uwaga

W przypadku określenia numeru portu innego niż 1433 podczas próby nawiązania połączenia z wystąpieniem SQL Server i użyciem protokołu innego niż TCP/IP Open metoda kończy się niepowodzeniem. Aby określić numer portu innego niż 1433, dołącz ciąg "server=machinename,port number" w parametrach połączenia i użyj protokołu TCP/IP.

Uwaga

Dostawca danych .NET Framework dla SQL Server wymaga uprawnień zabezpieczeń z włączoną obsługą opcji "Zezwalaj na wywołania niezarządzanych zestawów" (SecurityPermissionz SecurityPermissionFlag ustawioną wartością UnmanagedCode) w celu otwarcia elementu z włączonym SqlConnection debugowaniem SQL.

Dotyczy

Open(SqlConnectionOverrides)

Otwiera połączenie bazy danych z ustawieniami właściwości określonymi przez ConnectionStringelement .

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)

Parametry

overrides
SqlConnectionOverrides

Opcje zastąpienia domyślnego zachowania otwierania połączenia.

Wyjątki

Nie można otworzyć połączenia bez określania źródła danych lub serwera.

lub

Połączenie jest już otwarte.

Wystąpił błąd na poziomie połączenia podczas otwierania połączenia. Number Jeśli właściwość zawiera wartość 18487 lub 18488, oznacza to, że określone hasło wygasło lub musi zostać zresetowane. Aby uzyskać więcej informacji, zobacz metodę ChangePassword(String, String) .

Tag <system.data.localdb> w pliku app.config ma nieprawidłowe lub nieznane elementy.

W sekcji znajdują się dwa wpisy o tej samej nazwie <localdbinstances> .

Przykłady

Poniższy przykład tworzy obiekt SqlConnection, otwiera go i wyświetla niektóre jego właściwości. Połączenie jest automatycznie zamykane na końcu using bloku.

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

Uwagi

Metoda SqlConnection pobiera otwarte połączenie z puli połączeń, jeśli jest dostępna. W przeciwnym razie ustanawia nowe połączenie z wystąpieniem SQL Server. W przypadku określenia przesłonięć pierwsza próba otwarcia zastosuje określone przesłonięcia do otwartej akcji.

Uwaga

Jeśli zakres SqlConnection wykracza poza zakres, nie jest zamknięty. W związku z tym należy jawnie zamknąć połączenie, wywołując metodę Close.

Uwaga

W przypadku określenia numeru portu innego niż 1433 podczas próby nawiązania połączenia z wystąpieniem SQL Server i użyciem protokołu innego niż TCP/IP Open metoda kończy się niepowodzeniem. Aby określić numer portu innego niż 1433, dołącz ciąg "server=machinename,port number" w parametrach połączenia i użyj protokołu TCP/IP.

Uwaga

Dostawca danych .NET Framework dla SQL Server wymaga uprawnień zabezpieczeń z włączoną obsługą opcji "Zezwalaj na wywołania niezarządzanych zestawów" (SecurityPermissionz SecurityPermissionFlag ustawioną wartością UnmanagedCode) w celu otwarcia elementu z włączonym SqlConnection debugowaniem SQL.

Dotyczy