SqlConnection Kelas

Definisi

Mewakili koneksi ke database SQL Server. Kelas ini tidak dapat diwariskan.

public ref class SqlConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class SqlConnection sealed : System::Data::Common::DbConnection
public ref class SqlConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public sealed class SqlConnection : System.Data.Common.DbConnection, ICloneable
public sealed class SqlConnection : System.Data.Common.DbConnection
public sealed class SqlConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
type SqlConnection = class
    inherit DbConnection
    interface ICloneable
type SqlConnection = class
    inherit DbConnection
type SqlConnection = class
    inherit Component
    interface IDbConnection
    interface IDisposable
    interface ICloneable
Public NotInheritable Class SqlConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class SqlConnection
Inherits DbConnection
Public NotInheritable Class SqlConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Warisan
SqlConnection
Warisan
Warisan
Penerapan

Contoh

Contoh berikut membuat SqlCommand dan SqlConnection. SqlConnection dibuka dan ditetapkan sebagai Connection untuk SqlCommand. Contohnya kemudian memanggil ExecuteNonQuery. Untuk mencapai hal ini, ExecuteNonQuery diteruskan SqlConnection dan string kueri yang merupakan pernyataan TRANSACT-SQL INSERT. Koneksi ditutup secara otomatis ketika kode keluar dari blok penggunaan.

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
    }
}
Public Sub CreateCommand(ByVal queryString As String, _
  ByVal connectionString As String)
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        command.Connection.Open()
        command.ExecuteNonQuery()
    End Using
End Sub

Keterangan

Objek SqlConnection mewakili sesi unik ke sumber data SQL Server. Dengan sistem database klien/server, itu setara dengan koneksi jaringan ke server. SqlConnectiondigunakan bersama dengan SqlDataAdapter dan SqlCommand untuk meningkatkan performa saat menyambungkan ke database Microsoft SQL Server. Untuk semua produk SQL Server pihak ketiga dan sumber data lain yang didukung OLE DB, gunakan OleDbConnection.

Saat Anda membuat instans SqlConnection, semua properti diatur ke nilai awalnya. Untuk daftar nilai-nilai ini, lihat SqlConnection konstruktor.

Lihat ConnectionString untuk daftar kata kunci dalam string koneksi.

SqlConnection Jika keluar dari cakupan, itu tidak akan ditutup. Oleh karena itu, Anda harus secara eksplisit menutup koneksi dengan memanggil Close atau Dispose. Close dan Dispose setara secara fungsional. Jika nilai Pooling pengumpulan koneksi diatur ke true atau yes, koneksi yang mendasar dikembalikan ke kumpulan koneksi. Di sisi lain, jika Pooling diatur ke false atau no, koneksi yang mendasar ke server benar-benar ditutup.

Catatan

Peristiwa masuk dan keluar tidak akan dinaikkan di server ketika koneksi diambil dari atau dikembalikan ke kumpulan koneksi, karena koneksi tidak benar-benar ditutup ketika dikembalikan ke kumpulan koneksi. Untuk informasi selengkapnya, lihat Kumpulan Koneksi SQL Server (ADO.NET).

Untuk memastikan bahwa koneksi selalu ditutup, buka koneksi di dalam blok, seperti yang using ditunjukkan dalam fragmen kode berikut. Melakukannya memastikan bahwa koneksi ditutup secara otomatis saat kode keluar dari blok.

Using connection As New SqlConnection(connectionString)
    connection.Open()
    ' Do work here; connection closed on following line.
End Using
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        // Do work here; connection closed on following line.
    }

Catatan

Untuk menyebarkan aplikasi berkinerja tinggi, Anda harus menggunakan pengumpulan koneksi. Saat Anda menggunakan Penyedia Data .NET Framework untuk SQL Server, Anda tidak perlu mengaktifkan pengumpulan koneksi karena penyedia mengelola ini secara otomatis, meskipun Anda dapat mengubah beberapa pengaturan. Untuk informasi selengkapnya, lihat Kumpulan Koneksi SQL Server (ADO.NET).

SqlException Jika dihasilkan oleh metode yang mengeksekusi SqlCommand, SqlConnection tetap terbuka ketika tingkat keparahan adalah 19 atau kurang. Ketika tingkat keparahan adalah 20 atau lebih besar, server biasanya menutup SqlConnection. Namun, pengguna dapat membuka kembali koneksi dan melanjutkan.

Aplikasi yang membuat instans SqlConnection objek dapat mengharuskan semua penelepon langsung dan tidak langsung memiliki izin yang memadai ke kode dengan mengatur tuntutan keamanan deklaratif atau imperatif. SqlConnection membuat tuntutan keamanan menggunakan SqlClientPermission objek . Pengguna dapat memverifikasi bahwa kode mereka memiliki izin yang memadai dengan menggunakan SqlClientPermissionAttribute objek . Pengguna dan administrator juga dapat menggunakan Caspol.exe (Alat Kebijakan Keamanan Akses Kode) untuk memodifikasi kebijakan keamanan di tingkat mesin, pengguna, dan perusahaan. Untuk informasi selengkapnya, lihat Keamanan di .NET. Untuk contoh yang menunjukkan cara menggunakan tuntutan keamanan, lihat Keamanan Akses Kode dan ADO.NET.

Untuk informasi selengkapnya tentang menangani pesan peringatan dan informasi dari server, lihat Peristiwa Koneksi. Untuk informasi selengkapnya tentang kesalahan mesin SQL Server dan pesan kesalahan, lihat Peristiwa dan Kesalahan Mesin Database.

Perhatian

Anda dapat memaksa TCP alih-alih memori bersama. Anda dapat melakukannya dengan mengawali tcp: ke nama server di string koneksi atau Anda dapat menggunakan localhost.

Konstruktor

SqlConnection()

Menginisialisasi instans baru kelas SqlConnection.

SqlConnection(String)

Menginisialisasi instans SqlConnection baru kelas saat diberikan string yang berisi string koneksi.

SqlConnection(String, SqlCredential)

Menginisialisasi instans baru kelas SqlConnection yang diberikan string koneksi, yang tidak menggunakan Integrated Security = true dan SqlCredential objek yang berisi ID pengguna dan kata sandi.

Properti

AccessToken

Mendapatkan atau mengatur token akses untuk koneksi.

CanCreateBatch

Mendapatkan nilai yang menunjukkan apakah instans DbBatch ini DbConnection mendukung kelas .

(Diperoleh dari DbConnection)
CanRaiseEvents

Mendapatkan nilai yang menunjukkan apakah komponen dapat menaikkan peristiwa.

(Diperoleh dari Component)
ClientConnectionId

ID koneksi dari upaya koneksi terbaru, terlepas dari apakah upaya berhasil atau gagal.

ColumnEncryptionKeyCacheTtl

Mendapatkan atau mengatur time-to-live untuk entri kunci enkripsi kolom di cache kunci enkripsi kolom untuk fitur Always Encrypted. Nilai defaultnya adalah 2 jam. 0 berarti tidak ada penembolokan sekali.

ColumnEncryptionQueryMetadataCacheEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah penembolokan metadata kueri diaktifkan (benar) atau tidak (salah) untuk kueri berparameter yang berjalan terhadap database yang diaktifkan Always Encrypted. Nilai defaultnya adalah true.

ColumnEncryptionTrustedMasterKeyPaths

Memungkinkan Anda mengatur daftar jalur kunci tepercaya untuk server database. Jika saat memproses kueri aplikasi, driver menerima jalur kunci yang tidak ada dalam daftar, kueri akan gagal. Properti ini memberikan perlindungan tambahan terhadap serangan keamanan yang melibatkan SQL Server disusupi yang menyediakan jalur kunci palsu, yang dapat menyebabkan kebocoran kredensial penyimpanan kunci.

ConnectionString

Mendapatkan atau mengatur string yang digunakan untuk membuka database SQL Server.

ConnectionTimeout

Mendapatkan waktu untuk menunggu (dalam detik) saat mencoba membuat koneksi sebelum mengakhiri upaya dan menghasilkan kesalahan.

Container

IContainer Mendapatkan yang berisi Component.

(Diperoleh dari Component)
Credential

Mendapatkan atau menyetel SqlCredential objek untuk sambungan ini.

Database

Mendapatkan nama database saat ini atau database yang akan digunakan setelah koneksi dibuka.

DataSource

Mendapatkan nama instans SQL Server yang akan disambungkan.

DbProviderFactory

DbProviderFactory Mendapatkan untuk iniDbConnection.

(Diperoleh dari DbConnection)
DesignMode

Mendapatkan nilai yang menunjukkan apakah Component saat ini dalam mode desain.

(Diperoleh dari Component)
Events

Mendapatkan daftar penanganan aktivitas yang dilampirkan ke ini Component.

(Diperoleh dari Component)
FireInfoMessageEventOnUserErrors

Mendapatkan atau mengatur FireInfoMessageEventOnUserErrors properti .

PacketSize

Mendapatkan ukuran (dalam byte) paket jaringan yang digunakan untuk berkomunikasi dengan instans SQL Server.

ServerVersion

Mendapatkan string yang berisi versi instans SQL Server yang terhubung dengan klien.

Site

Mendapatkan atau mengatur ISite dari Component.

(Diperoleh dari Component)
State

Menunjukkan status SqlConnection selama operasi jaringan terbaru yang dilakukan pada koneksi.

StatisticsEnabled

Ketika diatur ke true, memungkinkan pengumpulan statistik untuk koneksi saat ini.

WorkstationId

Mendapatkan string yang mengidentifikasi klien database.

Metode

BeginDbTransaction(IsolationLevel)

Saat ditimpa di kelas turunan, memulai transaksi database.

(Diperoleh dari DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

Secara asinkron memulai transaksi database.

(Diperoleh dari DbConnection)
BeginTransaction()

Memulai transaksi database.

BeginTransaction(IsolationLevel)

Memulai transaksi database dengan tingkat isolasi yang ditentukan.

BeginTransaction(IsolationLevel, String)

Memulai transaksi database dengan tingkat isolasi dan nama transaksi yang ditentukan.

BeginTransaction(String)

Memulai transaksi database dengan nama transaksi yang ditentukan.

BeginTransactionAsync(CancellationToken)

Secara asinkron memulai transaksi database.

(Diperoleh dari DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

Secara asinkron memulai transaksi database.

(Diperoleh dari DbConnection)
ChangeDatabase(String)

Mengubah database saat ini untuk yang terbuka SqlConnection.

ChangeDatabaseAsync(String, CancellationToken)

Secara asinkron mengubah database saat ini untuk koneksi terbuka.

(Diperoleh dari DbConnection)
ChangePassword(String, SqlCredential, SecureString)

Mengubah kata sandi SQL Server untuk pengguna yang ditunjukkan dalam SqlCredential objek .

ChangePassword(String, String)

Mengubah kata sandi SQL Server untuk pengguna yang ditunjukkan dalam string koneksi ke kata sandi baru yang disediakan.

ClearAllPools()

Mengolah kumpulan koneksi.

ClearPool(SqlConnection)

Mengolah kumpulan koneksi yang terkait dengan koneksi yang ditentukan.

Close()

Menutup koneksi ke database. Ini adalah metode yang disukai untuk menutup koneksi terbuka apa pun.

CloseAsync()

Secara asinkron menutup koneksi ke database.

(Diperoleh dari DbConnection)
CreateBatch()

Mengembalikan instans baru kelas penyedia yang mengimplementasikan DbBatch kelas .

(Diperoleh dari DbConnection)
CreateCommand()

Membuat dan mengembalikan objek yang SqlCommand terkait dengan SqlConnection.

CreateDbBatch()

Saat ditimpa di kelas turunan, mengembalikan instans baru kelas penyedia yang mengimplementasikan DbBatch kelas .

(Diperoleh dari DbConnection)
CreateDbCommand()

Saat ditimpa di kelas turunan, membuat dan mengembalikan objek yang DbCommand terkait dengan koneksi saat ini.

(Diperoleh dari DbConnection)
CreateObjRef(Type)

Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh.

(Diperoleh dari MarshalByRefObject)
Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola.

(Diperoleh dari DbConnection)
Dispose()

Merilis semua sumber daya yang Componentdigunakan oleh .

(Diperoleh dari Component)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh DbConnection dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari DbConnection)
Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh Component dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari Component)
DisposeAsync()

Secara asinkron membuang objek koneksi.

(Diperoleh dari DbConnection)
EnlistDistributedTransaction(ITransaction)

Mendaftarkan dalam transaksi yang ditentukan sebagai transaksi terdistribusi.

EnlistTransaction(Transaction)

Mendaftarkan dalam transaksi yang ditentukan sebagai transaksi terdistribusi.

EnlistTransaction(Transaction)

Daftarkan dalam transaksi yang ditentukan.

(Diperoleh dari DbConnection)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetLifetimeService()
Kedaluwarsa.

Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
GetSchema()

Mengembalikan informasi skema untuk sumber data ini SqlConnection. Untuk informasi selengkapnya tentang skema, lihat SQL Server Koleksi Skema.

GetSchema()

Mengembalikan informasi skema untuk sumber data ini DbConnection.

(Diperoleh dari DbConnection)
GetSchema(String)

Mengembalikan informasi skema untuk sumber data ini SqlConnection menggunakan string yang ditentukan untuk nama skema.

GetSchema(String)

Mengembalikan informasi skema untuk sumber data ini DbConnection menggunakan string yang ditentukan untuk nama skema.

(Diperoleh dari DbConnection)
GetSchema(String, String[])

Mengembalikan informasi skema untuk sumber data ini SqlConnection menggunakan string yang ditentukan untuk nama skema dan array string yang ditentukan untuk nilai pembatasan.

GetSchema(String, String[])

Mengembalikan informasi skema untuk sumber data ini DbConnection menggunakan string yang ditentukan untuk nama skema dan array string yang ditentukan untuk nilai pembatasan.

(Diperoleh dari DbConnection)
GetSchemaAsync(CancellationToken)

Ini adalah versi asinkron dari GetSchema(). Penyedia harus mengambil alih dengan implementasi yang sesuai. cancellationToken secara opsional dapat dihormati. Implementasi default memanggil panggilan sinkron GetSchema() dan mengembalikan tugas yang selesai. Implementasi default akan mengembalikan tugas yang dibatalkan jika lulus yang sudah dibatalkan cancellationToken. Pengecualian yang dilemparkan GetSchema() akan dikomunikasikan melalui properti Pengecualian Tugas yang dikembalikan.

(Diperoleh dari DbConnection)
GetSchemaAsync(String, CancellationToken)

Ini adalah versi asinkron dari GetSchema(String). Penyedia harus mengambil alih dengan implementasi yang sesuai. cancellationToken secara opsional dapat dihormati. Implementasi default memanggil panggilan sinkron GetSchema(String) dan mengembalikan tugas yang selesai. Implementasi default akan mengembalikan tugas yang dibatalkan jika lulus yang sudah dibatalkan cancellationToken. Pengecualian yang dilemparkan GetSchema(String) akan dikomunikasikan melalui properti Pengecualian Tugas yang dikembalikan.

(Diperoleh dari DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

Ini adalah versi asinkron dari GetSchema(String, String[]). Penyedia harus mengambil alih dengan implementasi yang sesuai. cancellationToken secara opsional dapat dihormati. Implementasi default memanggil panggilan sinkron GetSchema(String, String[]) dan mengembalikan tugas yang selesai. Implementasi default akan mengembalikan tugas yang dibatalkan jika lulus yang sudah dibatalkan cancellationToken. Pengecualian yang dilemparkan GetSchema(String, String[]) akan dikomunikasikan melalui properti Pengecualian Tugas yang dikembalikan.

(Diperoleh dari DbConnection)
GetService(Type)

Mengembalikan objek yang mewakili layanan yang disediakan oleh Component atau oleh Container.

(Diperoleh dari Component)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
InitializeLifetimeService()
Kedaluwarsa.

Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini.

(Diperoleh dari MarshalByRefObject)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
MemberwiseClone(Boolean)

Membuat salinan dangkal objek saat ini MarshalByRefObject .

(Diperoleh dari MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

Memunculkan kejadian StateChange.

(Diperoleh dari DbConnection)
Open()

Membuka koneksi database dengan pengaturan properti yang ditentukan oleh ConnectionString.

OpenAsync()

Versi asinkron dari Open(), yang membuka koneksi database dengan pengaturan yang ditentukan oleh ConnectionString. Metode ini memanggil metode OpenAsync(CancellationToken) virtual dengan CancellationToken.None.

(Diperoleh dari DbConnection)
OpenAsync(CancellationToken)

Versi asinkron dari Open(), yang membuka koneksi database dengan pengaturan properti yang ditentukan oleh ConnectionString. Token pembatalan dapat digunakan untuk meminta agar operasi ditinggalkan sebelum batas waktu koneksi berlalu. Pengecualian akan disebarluaskan melalui Tugas yang dikembalikan. Jika waktu habis koneksi berlalu tanpa berhasil menyambungkan, Tugas yang dikembalikan akan ditandai sebagai rusak dengan Pengecualian. Implementasi mengembalikan Tugas tanpa memblokir utas panggilan untuk koneksi yang dikumpulkan dan tidak terkumpul.

OpenAsync(CancellationToken)

Ini adalah versi asinkron dari Open(). Penyedia harus mengambil alih dengan implementasi yang sesuai. Token pembatalan dapat secara opsional dihormati.

Implementasi default memanggil panggilan sinkron Open() dan mengembalikan tugas yang selesai. Implementasi default akan mengembalikan tugas yang dibatalkan jika melewati cancellationToken yang sudah dibatalkan. Pengecualian yang dilemparkan oleh Buka akan dikomunikasikan melalui properti Pengecualian Tugas yang dikembalikan.

Jangan memanggil metode dan properti DbConnection objek lain sampai Tugas yang dikembalikan selesai.

(Diperoleh dari DbConnection)
RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>)

Mendaftarkan penyedia penyimpanan kunci enkripsi kolom.

ResetStatistics()

Jika pengumpulan statistik diaktifkan, semua nilai diatur ulang ke nol.

RetrieveStatistics()

Mengembalikan kumpulan pasangan nilai nama statistik pada titik waktu metode dipanggil.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan yang String berisi nama Component, jika ada. Metode ini tidak boleh ditimpa.

(Diperoleh dari Component)

Acara

Disposed

Terjadi ketika komponen dibuang oleh panggilan ke Dispose() metode .

(Diperoleh dari Component)
InfoMessage

Terjadi ketika SQL Server mengembalikan pesan peringatan atau informasi.

StateChange

Terjadi ketika status koneksi berubah.

StateChange

Terjadi ketika status koneksi berubah.

(Diperoleh dari DbConnection)

Implementasi Antarmuka Eksplisit

ICloneable.Clone()

Membuat objek baru yang merupakan salinan instans saat ini.

IDbConnection.BeginTransaction()

Memulai transaksi database.

IDbConnection.BeginTransaction()

Memulai transaksi database.

(Diperoleh dari DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

Memulai transaksi database dengan nilai yang ditentukan IsolationLevel .

IDbConnection.BeginTransaction(IsolationLevel)

Memulai transaksi database dengan tingkat isolasi yang ditentukan.

(Diperoleh dari DbConnection)
IDbConnection.CreateCommand()

Membuat dan mengembalikan objek Perintah yang terkait dengan koneksi.

IDbConnection.CreateCommand()

Membuat dan mengembalikan DbCommand objek yang terkait dengan koneksi saat ini.

(Diperoleh dari DbConnection)

Berlaku untuk

Lihat juga