SqlConnectionStringBuilder Kelas

Definisi

Menyediakan cara sederhana untuk membuat dan mengelola konten string koneksi yang digunakan oleh SqlConnection kelas .

public ref class SqlConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))]
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type SqlConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))>]
type SqlConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
Public NotInheritable Class SqlConnectionStringBuilder
Inherits DbConnectionStringBuilder
Warisan
SqlConnectionStringBuilder
Atribut

Contoh

Aplikasi konsol berikut membangun string koneksi untuk database SQL Server. Kode menggunakan SqlConnectionStringBuilder kelas untuk membuat string koneksi, lalu meneruskan ConnectionString properti SqlConnectionStringBuilder instans ke konstruktor kelas koneksi. Contohnya juga mengurai string koneksi yang ada dan menunjukkan berbagai cara untuk memanipulasi konten string koneksi.

Catatan

Contoh ini mencakup kata sandi untuk menunjukkan cara SqlConnectionStringBuilder kerja dengan string koneksi. Di aplikasi Anda, kami sarankan Anda menggunakan Autentikasi Windows. Jika Anda harus menggunakan kata sandi, jangan sertakan kata sandi yang dikodekan secara permanen dalam aplikasi Anda.

using System.Data;
using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        // Create a new SqlConnectionStringBuilder and
        // initialize it with a few name/value pairs.
        SqlConnectionStringBuilder builder =
            new SqlConnectionStringBuilder(GetConnectionString());

        // The input connection string used the
        // Server key, but the new connection string uses
        // the well-known Data Source key instead.
        Console.WriteLine(builder.ConnectionString);

        // Pass the SqlConnectionStringBuilder an existing
        // connection string, and you can retrieve and
        // modify any of the elements.
        builder.ConnectionString = "server=(local);user id=ab;" +
            "password= a!Pass113;initial catalog=AdventureWorks";

        // Now that the connection string has been parsed,
        // you can work with individual items.
        Console.WriteLine(builder.Password);
        builder.Password = "new@1Password";
        builder.AsynchronousProcessing = true;

        // You can refer to connection keys using strings,
        // as well. When you use this technique (the default
        // Item property in Visual Basic, or the indexer in C#),
        // you can specify any synonym for the connection string key
        // name.
        builder["Server"] = ".";
        builder["Connect Timeout"] = 1000;
        builder["Trusted_Connection"] = true;
        Console.WriteLine(builder.ConnectionString);

        Console.WriteLine("Press Enter to finish.");
        Console.ReadLine();
    }

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

Module Module1
    Sub Main()
        ' Create a new SqlConnectionStringBuilder and
        ' initialize it with a few name/value pairs:
        Dim builder As New SqlConnectionStringBuilder(GetConnectionString())

        ' The input connection string used the 
        ' Server key, but the new connection string uses
        ' the well-known Data Source key instead.
        Console.WriteLine(builder.ConnectionString)

        ' Pass the SqlConnectionStringBuilder an existing 
        ' connection string, and you can retrieve and
        ' modify any of the elements.
        builder.ConnectionString = _
            "server=(local);user id=ab;" & _
            "password=a!Pass113;initial catalog=AdventureWorks"
        ' Now that the connection string has been parsed,
        ' you can work with individual items.
        Console.WriteLine(builder.Password)
        builder.Password = "new@1Password"
        builder.AsynchronousProcessing = True

        ' You can refer to connection keys using strings, 
        ' as well. When you use this technique (the default
        ' Item property in Visual Basic, or the indexer in C#)
        ' you can specify any synonym for the connection string key
        ' name.
        builder("Server") = "."
        builder("Connect Timeout") = 1000

        ' The Item property is the default for the class, 
        ' and setting the Item property adds the value to the 
        ' dictionary, if necessary. 
        builder.Item("Trusted_Connection") = True
        Console.WriteLine(builder.ConnectionString)

        Console.WriteLine("Press Enter to finish.")
        Console.ReadLine()
    End Sub

    Private Function GetConnectionString() As String
        ' To avoid storing the connection string in your code,
        ' you can retrieve it from a configuration file. 
        Return "Server=(local);Integrated Security=SSPI;" & _
          "Initial Catalog=AdventureWorks"
    End Function
End Module

Keterangan

Penyusun string koneksi memungkinkan pengembang membuat string koneksi yang benar secara terprogram, dan mengurai dan membangun kembali string koneksi yang ada, menggunakan properti dan metode kelas. Penyusun string koneksi menyediakan properti yang sangat ditik yang sesuai dengan pasangan kunci/nilai yang diketahui yang diizinkan oleh SQL Server. Pengembang perlu membuat string koneksi sebagai bagian dari aplikasi dapat menggunakan SqlConnectionStringBuilder kelas untuk membangun dan memodifikasi string koneksi. Kelas ini juga memudahkan untuk mengelola string koneksi yang disimpan dalam file konfigurasi aplikasi.

melakukan SqlConnectionStringBuilder pemeriksaan untuk pasangan kunci/nilai yang valid. Oleh karena itu, Anda tidak dapat menggunakan kelas ini untuk membuat string koneksi yang tidak valid; mencoba menambahkan pasangan yang tidak valid akan memberikan pengecualian. Kelas ini mempertahankan koleksi sinonim tetap dan dapat diterjemahkan dari sinonim ke nama kunci terkenal yang sesuai.

Misalnya, saat Anda menggunakan properti Item untuk mengambil nilai, Anda dapat menentukan string yang berisi sinonim apa pun untuk kunci yang Anda butuhkan. Misalnya, Anda dapat menentukan "Alamat Jaringan", "addr", atau sinonim lain yang dapat diterima untuk kunci ini dalam string koneksi saat Anda menggunakan anggota apa pun yang memerlukan string yang berisi nama kunci, seperti properti Item atau Remove metode . ConnectionString Lihat properti untuk daftar lengkap sinonim yang dapat diterima.

Properti Item menangani mencoba menyisipkan entri berbahaya. Misalnya, kode berikut, menggunakan properti Item default (pengindeks, di C#) dengan benar lolos dari pasangan kunci/nilai berlapis:

Dim builder As New System.Data.SqlClient.SqlConnectionStringBuilder
builder("Data Source") = "(local)"
builder("Integrated Security") = True
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.SqlClient.SqlConnectionStringBuilder builder =
  new System.Data.SqlClient.SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);

Hasilnya adalah string koneksi berikut yang menangani nilai yang tidak valid dengan cara yang aman:

Source=(local);Initial Catalog="AdventureWorks;NewValue=Bad";
Integrated Security=True

Konstruktor

SqlConnectionStringBuilder()

Menginisialisasi instans baru kelas SqlConnectionStringBuilder.

SqlConnectionStringBuilder(String)

Menginisialisasi instans baru kelas SqlConnectionStringBuilder. string koneksi yang disediakan menyediakan data untuk informasi koneksi internal instans.

Properti

ApplicationIntent

Menyatakan jenis beban kerja aplikasi saat menyambungkan ke database dalam Grup Ketersediaan SQL Server. Anda dapat mengatur nilai properti ini dengan ApplicationIntent. Untuk informasi selengkapnya tentang dukungan SqlClient untuk Grup Ketersediaan AlwaysOn, lihat Dukungan SqlClient untuk Ketersediaan Tinggi, Pemulihan Bencana.

ApplicationName

Mendapatkan atau mengatur nama aplikasi yang terkait dengan string koneksi.

AsynchronousProcessing

Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah pemrosesan asinkron diizinkan oleh koneksi yang dibuat dengan menggunakan string koneksi ini.

AttachDBFilename

Mendapatkan atau mengatur string yang berisi nama file data utama. Ini termasuk nama jalur lengkap database yang dapat dilampirkan.

Authentication

Mendapatkan autentikasi string koneksi.

BrowsableConnectionString

Mendapatkan atau menetapkan nilai yang menunjukkan apakah ConnectionString properti terlihat di desainer Visual Studio.

(Diperoleh dari DbConnectionStringBuilder)
ColumnEncryptionSetting

Mendapatkan atau mengatur pengaturan enkripsi kolom untuk penyusun string koneksi.

ConnectionReset
Kedaluwarsa.

Kedaluwarsa. Mendapatkan atau mengatur nilai Boolean yang menunjukkan apakah koneksi diatur ulang saat digambar dari kumpulan koneksi.

ConnectionString

Mendapatkan atau mengatur string koneksi yang terkait dengan DbConnectionStringBuilder.

(Diperoleh dari DbConnectionStringBuilder)
ConnectRetryCount

Jumlah koneksi ulang yang dicoba setelah mengidentifikasi bahwa ada kegagalan koneksi diam. Ini harus berupa bilangan bulat antara 0 dan 255. Defaultnya adalah 1. Atur ke 0 untuk menonaktifkan menyambungkan kembali pada kegagalan koneksi diam. ArgumentException Akan dilemparkan jika diatur ke nilai di luar rentang yang diizinkan.

ConnectRetryInterval

Jumlah waktu (dalam detik) antara setiap upaya koneksi ulang setelah mengidentifikasi bahwa ada kegagalan koneksi diam. Ini harus berupa bilangan bulat antara 1 dan 60. Defaultnya adalah 10 detik. ArgumentException Akan dilemparkan jika diatur ke nilai di luar rentang yang diizinkan.

ConnectTimeout

Mendapatkan atau mengatur lamanya waktu (dalam detik) untuk menunggu koneksi ke server sebelum mengakhiri upaya dan menghasilkan kesalahan.

ContextConnection

Mendapatkan atau menetapkan nilai yang menunjukkan apakah koneksi klien/server atau dalam proses ke SQL Server harus dibuat.

Count

Mendapatkan jumlah kunci saat ini yang terkandung dalam ConnectionString properti .

(Diperoleh dari DbConnectionStringBuilder)
CurrentLanguage

Mendapatkan atau mengatur nama catatan bahasa SQL Server.

DataSource

Mendapatkan atau mengatur nama atau alamat jaringan instans SQL Server untuk disambungkan.

EnclaveAttestationUrl

Mendapatkan atau mengatur Url pengesahan enklave yang akan digunakan dengan Always Encrypted berbasis enklave.

Encrypt

Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah SQL Server menggunakan enkripsi SSL untuk semua data yang dikirim antara klien dan server jika server memiliki sertifikat yang diinstal.

Enlist

Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah pengumpul koneksi SQL Server secara otomatis mendaftarkan koneksi dalam konteks transaksi alur pembuatan saat ini.

FailoverPartner

Mendapatkan atau mengatur nama atau alamat server mitra untuk disambungkan jika server utama tidak berfungsi.

InitialCatalog

Mendapatkan atau mengatur nama database yang terkait dengan koneksi.

IntegratedSecurity

Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah ID Pengguna dan Kata Sandi ditentukan dalam koneksi (ketika false) atau apakah kredensial akun Windows saat ini digunakan untuk autentikasi (ketika true).

IsFixedSize

Mendapatkan nilai yang menunjukkan apakah SqlConnectionStringBuilder memiliki ukuran tetap.

IsFixedSize

Mendapatkan nilai yang menunjukkan apakah DbConnectionStringBuilder memiliki ukuran tetap.

(Diperoleh dari DbConnectionStringBuilder)
IsReadOnly

Mendapatkan nilai yang menunjukkan apakah DbConnectionStringBuilder bersifat baca-saja.

(Diperoleh dari DbConnectionStringBuilder)
Item[String]

Mendapatkan atau mengatur nilai yang terkait dengan kunci yang ditentukan. Di C#, properti ini adalah pengindeks.

Keys

ICollection Mendapatkan yang berisi kunci di SqlConnectionStringBuilder.

LoadBalanceTimeout

Mendapatkan atau mengatur waktu minimum, dalam detik, agar koneksi hidup di kumpulan koneksi sebelum dihancurkan.

MaxPoolSize

Mendapatkan atau mengatur jumlah maksimum koneksi yang diizinkan dalam kumpulan koneksi untuk string koneksi khusus ini.

MinPoolSize

Mendapatkan atau mengatur jumlah minimum koneksi yang diizinkan di kumpulan koneksi untuk string koneksi khusus ini.

MultipleActiveResultSets

Jika true, aplikasi dapat mempertahankan beberapa tataan hasil aktif (MARS). Ketika false, aplikasi harus memproses atau membatalkan semua tataan hasil dari satu batch sebelum dapat menjalankan batch lain pada koneksi tersebut.

Untuk informasi selengkapnya, lihat Beberapa Kumpulan Hasil Aktif (MARS).

MultiSubnetFailover

Jika aplikasi Anda terhubung ke grup ketersediaan AlwaysOn (AG) atau Always On Failover Cluster Instance (FCI) pada subnet yang berbeda, pengaturan MultiSubnetFailover=true memberikan deteksi dan koneksi yang lebih cepat ke server aktif (saat ini). Untuk informasi selengkapnya tentang dukungan SqlClient untuk fitur AlwaysOn, lihat Dukungan SqlClient untuk Ketersediaan Tinggi, Pemulihan Bencana.

NetworkLibrary

Mendapatkan atau mengatur string yang berisi nama pustaka jaringan yang digunakan untuk membuat koneksi ke SQL Server.

PacketSize

Mendapatkan atau mengatur ukuran dalam byte paket jaringan yang digunakan untuk berkomunikasi dengan instans SQL Server.

Password

Mendapatkan atau mengatur kata sandi untuk akun SQL Server.

PersistSecurityInfo

Mendapatkan atau menetapkan nilai yang menunjukkan apakah informasi sensitif keamanan, seperti kata sandi atau token akses, harus dikembalikan sebagai bagian dari string koneksi pada koneksi yang dibuat dengan ini SqlConnectionStringBuilder setelah koneksi tersebut dalam keadaan terbuka.

PoolBlockingPeriod

Perilaku periode pemblokiran untuk kumpulan koneksi.

Pooling

Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah koneksi akan dikumpulkan atau dibuka secara eksplisit setiap kali koneksi diminta.

Replication

Mendapatkan atau menetapkan nilai Boolean yang menunjukkan apakah replikasi didukung menggunakan koneksi.

TransactionBinding

Mendapatkan atau menetapkan nilai string yang menunjukkan bagaimana koneksi mempertahankan hubungannya dengan transaksi yang terdaftar System.Transactions .

TransparentNetworkIPResolution

Ketika nilai kunci ini diatur ke true, aplikasi diperlukan untuk mengambil semua alamat IP untuk entri DNS tertentu dan mencoba untuk terhubung dengan yang pertama dalam daftar. Jika koneksi tidak dibuat dalam waktu 0,5 detik, aplikasi akan mencoba terhubung ke semua orang lain secara paralel. Ketika jawaban pertama, aplikasi akan membuat koneksi dengan alamat IP responden.

TrustServerCertificate

Mendapatkan atau menetapkan nilai yang menunjukkan apakah saluran akan dienkripsi saat melewati rantai sertifikat untuk memvalidasi kepercayaan.

TypeSystemVersion

Mendapatkan atau menetapkan nilai string yang menunjukkan sistem jenis yang diharapkan aplikasi.

UserID

Mendapatkan atau mengatur ID pengguna yang akan digunakan saat menyambungkan ke SQL Server.

UserInstance

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan mengalihkan koneksi dari instans SQL Server Express default ke instans yang dimulai runtime yang berjalan di bawah akun pemanggil.

Values

Mendapatkan yang ICollection berisi nilai dalam SqlConnectionStringBuilder.

WorkstationID

Mendapatkan atau mengatur nama stasiun kerja yang tersambung ke SQL Server.

Metode

Add(String, Object)

Menambahkan entri dengan kunci dan nilai yang ditentukan ke DbConnectionStringBuilderdalam .

(Diperoleh dari DbConnectionStringBuilder)
Clear()

Menghapus konten instans SqlConnectionStringBuilder .

ClearPropertyDescriptors()

Menghapus kumpulan PropertyDescriptor objek pada yang terkait DbConnectionStringBuilder.

(Diperoleh dari DbConnectionStringBuilder)
ContainsKey(String)

Menentukan apakah berisi SqlConnectionStringBuilder kunci tertentu.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
EquivalentTo(DbConnectionStringBuilder)

Membandingkan informasi koneksi dalam objek ini DbConnectionStringBuilder dengan informasi koneksi dalam objek yang disediakan.

(Diperoleh dari DbConnectionStringBuilder)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetProperties(Hashtable)

Mengisi yang disediakan Hashtable dengan informasi tentang semua properti ini DbConnectionStringBuilder.

(Diperoleh dari DbConnectionStringBuilder)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
Remove(String)

Menghapus entri dengan kunci yang ditentukan dari SqlConnectionStringBuilder instans.

ShouldSerialize(String)

Menunjukkan apakah kunci yang ditentukan ada dalam instans ini SqlConnectionStringBuilder .

ToString()

Mengembalikan string koneksi yang terkait dengan iniDbConnectionStringBuilder.

(Diperoleh dari DbConnectionStringBuilder)
TryGetValue(String, Object)

Mengambil nilai yang sesuai dengan kunci yang disediakan dari ini SqlConnectionStringBuilder.

Implementasi Antarmuka Eksplisit

ICollection.CopyTo(Array, Int32)

Menyalin elemen ICollection ke Array, dimulai pada indeks tertentu Array .

(Diperoleh dari DbConnectionStringBuilder)
ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah akses ke disinkronkan ICollection (utas aman).

(Diperoleh dari DbConnectionStringBuilder)
ICollection.SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke ICollection.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

Mengembalikan kumpulan atribut kustom untuk instans komponen ini.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

Mengembalikan nama kelas instans komponen ini.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

Mengembalikan nama instans komponen ini.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

Mengembalikan pengonversi jenis untuk instans komponen ini.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

Mengembalikan peristiwa default untuk instans komponen ini.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

Mengembalikan properti default untuk instans komponen ini.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

Mengembalikan editor dari jenis yang ditentukan untuk instans komponen ini.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

Mengembalikan peristiwa untuk instans komponen ini.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])

Mengembalikan peristiwa untuk instans komponen ini menggunakan array atribut yang ditentukan sebagai filter.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

Mengembalikan properti untuk instans komponen ini.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])

Mengembalikan properti untuk instans komponen ini menggunakan array atribut sebagai filter.

(Diperoleh dari DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Mengembalikan objek yang berisi properti yang dijelaskan oleh pendeskripsi properti yang ditentukan.

(Diperoleh dari DbConnectionStringBuilder)
IDictionary.Add(Object, Object)

Menambahkan elemen dengan kunci dan nilai yang disediakan ke IDictionary objek .

(Diperoleh dari DbConnectionStringBuilder)
IDictionary.Contains(Object)

Menentukan apakah IDictionary objek berisi elemen dengan kunci yang ditentukan.

(Diperoleh dari DbConnectionStringBuilder)
IDictionary.GetEnumerator()

Mengembalikan IDictionaryEnumerator objek untuk IDictionary objek .

(Diperoleh dari DbConnectionStringBuilder)
IDictionary.IsFixedSize

Mendapatkan nilai yang menunjukkan apakah IDictionary objek memiliki ukuran tetap.

(Diperoleh dari DbConnectionStringBuilder)
IDictionary.IsReadOnly

Mendapatkan nilai yang menunjukkan apakah IDictionary bersifat baca-saja.

(Diperoleh dari DbConnectionStringBuilder)
IDictionary.Item[Object]

Mendapatkan atau mengatur elemen dengan kunci yang ditentukan.

(Diperoleh dari DbConnectionStringBuilder)
IDictionary.Remove(Object)

Menghapus elemen dengan kunci yang ditentukan dari IDictionary objek .

(Diperoleh dari DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

Mengembalikan enumerator yang melakukan iterasi melalui koleksi.

(Diperoleh dari DbConnectionStringBuilder)

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari IEnumerable ke jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis tertentu.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk

Lihat juga