Aracılığıyla paylaş


SqlConnection.Open Yöntem

Tanım

Aşırı Yüklemeler

Open()

tarafından ConnectionStringbelirtilen özellik ayarlarıyla bir veritabanı bağlantısı açar.

Open(SqlConnectionOverrides)

tarafından ConnectionStringbelirtilen özellik ayarlarıyla bir veritabanı bağlantısı açar.

Open()

tarafından ConnectionStringbelirtilen özellik ayarlarıyla bir veritabanı bağlantısı açar.

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

Özel durumlar

Veri kaynağı veya sunucu belirtilmeden bağlantı açılamıyor.

veya

Bağlantı zaten açık.

Bağlantı açılırken bağlantı düzeyi hatası oluştu. Number Özellik 18487 veya 18488 değerini içeriyorsa, bu belirtilen parolanın süresinin dolduğunu veya sıfırlanması gerektiğini gösterir. Daha fazla bilgi için yöntemine ChangePassword(String, String) bakın.

<system.data.localdb>app.config dosyasındaki etikette geçersiz veya bilinmeyen öğeler var.

bölümünde aynı ada <localdbinstances> sahip iki giriş vardır.

Örnekler

Aşağıdaki örnek bir SqlConnectionoluşturur, açar ve özelliklerinden bazılarını görüntüler. Bağlantı bloğun sonunda using otomatik olarak kapatılır.

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

Açıklamalar

SqlConnection varsa bağlantı havuzundan açık bir bağlantı çizer. Aksi takdirde, SQL Server örneğine yeni bir bağlantı kurar.

Not

SqlConnection kapsamı dışına çıkarsa kapatılmaz. Bu nedenle, çağrısı Closeyaparak bağlantıyı açıkça kapatmanız gerekir.

Not

SQL Server örneğine bağlanmaya çalışırken ve TCP/IP dışında bir protokol kullanırken 1433 dışında bir bağlantı noktası numarası belirtirseniz, Open yöntem başarısız olur. 1433 dışında bir bağlantı noktası numarası belirtmek için bağlantı dizesine "server=machinename,bağlantı noktası numarası" ekleyin ve TCP/IP protokollerini kullanın.

Not

SQL Server için .NET Framework Veri Sağlayıcısı, SQL Hata Ayıklama etkinken açmak SqlConnection için "Yönetilmeyen derlemelere çağrılara izin verir" etkinleştirilmiş (SecurityPermissionSecurityPermissionFlag olarak ayarlanmışUnmanagedCode) Güvenlik izni gerektirir.

Şunlara uygulanır

Open(SqlConnectionOverrides)

tarafından ConnectionStringbelirtilen özellik ayarlarıyla bir veritabanı bağlantısı açar.

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)

Parametreler

overrides
SqlConnectionOverrides

Varsayılan bağlantı açma davranışını geçersiz kılma seçenekleri.

Özel durumlar

Veri kaynağı veya sunucu belirtilmeden bağlantı açılamıyor.

veya

Bağlantı zaten açık.

Bağlantı açılırken bağlantı düzeyi hatası oluştu. Number Özellik 18487 veya 18488 değerini içeriyorsa, bu belirtilen parolanın süresinin dolduğunu veya sıfırlanması gerektiğini gösterir. Daha fazla bilgi için yöntemine ChangePassword(String, String) bakın.

<system.data.localdb>app.config dosyasındaki etikette geçersiz veya bilinmeyen öğeler var.

bölümünde aynı ada <localdbinstances> sahip iki giriş vardır.

Örnekler

Aşağıdaki örnek bir SqlConnectionoluşturur, açar ve özelliklerinden bazılarını görüntüler. Bağlantı bloğun sonunda using otomatik olarak kapatılır.

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

Açıklamalar

SqlConnection varsa bağlantı havuzundan açık bir bağlantı çizer. Aksi takdirde, SQL Server örneğine yeni bir bağlantı kurar. Geçersiz kılmalar belirtilirse, ilk açma girişimi belirtilen geçersiz kılmaları açık eyleme uygular.

Not

SqlConnection kapsamı dışına çıkarsa kapatılmaz. Bu nedenle, çağrısı Closeyaparak bağlantıyı açıkça kapatmanız gerekir.

Not

SQL Server örneğine bağlanmaya çalışırken ve TCP/IP dışında bir protokol kullanırken 1433 dışında bir bağlantı noktası numarası belirtirseniz, Open yöntem başarısız olur. 1433 dışında bir bağlantı noktası numarası belirtmek için bağlantı dizesine "server=machinename,bağlantı noktası numarası" ekleyin ve TCP/IP protokollerini kullanın.

Not

SQL Server için .NET Framework Veri Sağlayıcısı, SQL Hata Ayıklama etkinken açmak SqlConnection için "Yönetilmeyen derlemelere çağrılara izin verir" etkinleştirilmiş (SecurityPermissionSecurityPermissionFlag olarak ayarlanmışUnmanagedCode) Güvenlik izni gerektirir.

Şunlara uygulanır