Sdílet prostřednictvím


SqlConnectionStringBuilder Třída

Definice

Poskytuje jednoduchý způsob, jak vytvořit a spravovat obsah připojovacích řetězců používaných SqlConnection třídou .

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
Dědičnost
SqlConnectionStringBuilder
Atributy

Příklady

Následující konzolová aplikace sestaví připojovací řetězce pro databázi SQL Server. Kód používá SqlConnectionStringBuilder třídu k vytvoření připojovací řetězec a poté předá ConnectionString vlastnost SqlConnectionStringBuilder instance konstruktoru třídy připojení. Příklad také parsuje existující připojovací řetězec a ukazuje různé způsoby manipulace s obsahem připojovací řetězec.

Poznámka

Tento příklad obsahuje heslo, které ukazuje, jak SqlConnectionStringBuilder funguje s připojovacími řetězci. Ve vašich aplikacích doporučujeme používat ověřování systému Windows. Pokud je nutné použít heslo, nevkládejte do své aplikace pevně zakódované heslo.

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

Poznámky

Tvůrce připojovací řetězec umožňuje vývojářům programově vytvářet syntakticky správné připojovací řetězce a parsovat a znovu sestavit existující připojovací řetězce pomocí vlastností a metod třídy . Tvůrce připojovací řetězec poskytuje vlastnosti silného typu odpovídající známým dvojicím klíč/hodnota povoleným SQL Server. Vývojáři, kteří potřebují vytvořit připojovací řetězce jako součást aplikací, můžou pomocí SqlConnectionStringBuilder třídy vytvářet a upravovat připojovací řetězce. Třída také usnadňuje správu připojovacích řetězců uložených v konfiguračním souboru aplikace.

Nástroj SqlConnectionStringBuilder provádí kontroly platných párů klíč/hodnota. Proto nelze použít tuto třídu k vytvoření neplatných připojovacích řetězců; Pokus o přidání neplatných párů vyvolá výjimku. Třída udržuje pevnou kolekci synonym a může překládat ze synonyma na odpovídající dobře známý název klíče.

Když například použijete vlastnost Item k načtení hodnoty, můžete zadat řetězec, který obsahuje jakékoli synonymum pro klíč, který potřebujete. Můžete například zadat "Síťová adresa", "addr" nebo jakékoli jiné přijatelné synonymum pro tento klíč v rámci připojovací řetězec při použití libovolného člena, který vyžaduje řetězec, který obsahuje název klíče, jako je například vlastnost Item nebo Remove metoda. Úplný seznam přijatelných synonym najdete ve ConnectionString vlastnosti .

Popisovače vlastnosti Item se pokusí vložit škodlivé položky. Například následující kód pomocí výchozí vlastnosti Item (indexer v jazyce C#) správně unikne z vnořené dvojice klíč/hodnota:

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);

Výsledkem je následující připojovací řetězec, který zpracovává neplatnou hodnotu bezpečným způsobem:

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

Konstruktory

SqlConnectionStringBuilder()

Inicializuje novou instanci SqlConnectionStringBuilder třídy .

SqlConnectionStringBuilder(String)

Inicializuje novou instanci SqlConnectionStringBuilder třídy . Poskytnutá připojovací řetězec poskytuje data pro interní informace o připojení instance.

Vlastnosti

ApplicationIntent

Deklaruje typ úlohy aplikace při připojování k databázi ve skupině dostupnosti SQL Server. Hodnotu této vlastnosti můžete nastavit pomocí ApplicationIntentpříkazu . Další informace o podpoře SqlClient pro skupiny dostupnosti AlwaysOn najdete v tématu Podpora sqlClient pro vysokou dostupnost, zotavení po havárii.

ApplicationName

Získá nebo nastaví název aplikace přidružené k připojovací řetězec.

AsynchronousProcessing

Získá nebo nastaví logickou hodnotu, která označuje, zda asynchronní zpracování je povoleno připojením vytvořeným pomocí tohoto připojovací řetězec.

AttachDBFilename

Získá nebo nastaví řetězec, který obsahuje název primárního datového souboru. To zahrnuje úplný název cesty k připojitelné databázi.

Authentication

Získá ověřování připojovací řetězec.

BrowsableConnectionString

Získá nebo nastaví hodnotu, která označuje, zda ConnectionString je vlastnost viditelná v návrhářích sady Visual Studio.

(Zděděno od DbConnectionStringBuilder)
ColumnEncryptionSetting

Získá nebo nastaví nastavení šifrování sloupce pro tvůrce připojovací řetězec.

ConnectionReset
Zastaralé.

Zastaralé. Získá nebo nastaví logickou hodnotu, která označuje, zda je připojení resetováno při získání z fondu připojení.

ConnectionString

Získá nebo nastaví připojovací řetězec přidružené k DbConnectionStringBuilder.

(Zděděno od DbConnectionStringBuilder)
ConnectRetryCount

Počet pokusů o opětovné připojení po zjištění, že došlo k selhání nečinného připojení. Musí se jednat o celé číslo mezi 0 a 255. Výchozí hodnota je 1. Pokud chcete zakázat opětovné připojení při selhání nečinných připojení, nastavte na hodnotu 0. Pokud ArgumentException je hodnota nastavená mimo povolený rozsah, vyvolá se hodnota .

ConnectRetryInterval

Doba (v sekundách) mezi každým pokusem o opětovné připojení po zjištění, že došlo k selhání nečinného připojení. Musí se jednat o celé číslo mezi 1 a 60. Výchozí hodnota je 10 sekund. Pokud ArgumentException je hodnota nastavená mimo povolený rozsah, vyvolá se hodnota .

ConnectTimeout

Získá nebo nastaví dobu (v sekundách) čekání na připojení k serveru před ukončením pokusu a vygenerováním chyby.

ContextConnection

Získá nebo nastaví hodnotu, která označuje, zda klient/server nebo připojení v procesu k SQL Server by mělo být provedeno.

Count

Získá aktuální počet klíčů, které jsou obsaženy v vlastnosti ConnectionString .

(Zděděno od DbConnectionStringBuilder)
CurrentLanguage

Získá nebo nastaví název záznamu jazyka SQL Server.

DataSource

Získá nebo nastaví název nebo síťovou adresu instance SQL Server pro připojení.

EnclaveAttestationUrl

Získá nebo nastaví adresu URL ověření identity enklávy pro použití s enkláv založenými Always Encrypted.

Encrypt

Získá nebo nastaví logickou hodnotu, která označuje, zda SQL Server používá šifrování SSL pro všechna data odesílaná mezi klientem a serverem, pokud má server nainstalovaný certifikát.

Enlist

Získá nebo nastaví logickou hodnotu, která označuje, zda SQL Server sdružování připojení automaticky zařazuje připojení do aktuálního kontextu transakce vytvoření vlákna.

FailoverPartner

Získá nebo nastaví název nebo adresu partnerského serveru, ke kterému se má připojit, pokud je primární server mimo provoz.

InitialCatalog

Získá nebo nastaví název databáze přidružené k připojení.

IntegratedSecurity

Získá nebo nastaví logickou hodnotu, která určuje, zda jsou v připojení zadány ID uživatele a heslo (když false) nebo zda se k ověřování používají přihlašovací údaje aktuálního účtu systému Windows (když true).

IsFixedSize

Získá hodnotu, která označuje, zda SqlConnectionStringBuilder má pevnou velikost.

IsFixedSize

Získá hodnotu, která označuje, zda DbConnectionStringBuilder má pevnou velikost.

(Zděděno od DbConnectionStringBuilder)
IsReadOnly

Získá hodnotu, která označuje, zda DbConnectionStringBuilder je jen pro čtení.

(Zděděno od DbConnectionStringBuilder)
Item[String]

Získá nebo nastaví hodnotu přidruženou k zadanému klíči. V jazyce C# je tato vlastnost indexerem.

Keys

Získá , ICollection který obsahuje klíče v SqlConnectionStringBuilder.

LoadBalanceTimeout

Získá nebo nastaví minimální dobu v sekundách, aby připojení žilo ve fondu připojení před jeho zničením.

MaxPoolSize

Získá nebo nastaví maximální počet připojení povolený ve fondu připojení pro tuto konkrétní připojovací řetězec.

MinPoolSize

Získá nebo nastaví minimální počet připojení povolený ve fondu připojení pro tento konkrétní připojovací řetězec.

MultipleActiveResultSets

V případě hodnoty true může aplikace udržovat několik aktivních sad výsledků (MARS). Pokud je hodnota false, aplikace musí zpracovat nebo zrušit všechny sady výsledků z jedné dávky, aby pro toto připojení mohly spustit jakoukoli jinou dávku.

Další informace najdete v tématu Mars (Multiple Active Result Sets).

MultiSubnetFailover

Pokud se vaše aplikace připojuje ke skupině dostupnosti AlwaysOn nebo instanci clusteru s podporou převzetí služeb při selhání (FCI) AlwaysOn v různých podsítích, nastavení MultiSubnetFailover=true umožňuje rychlejší detekci a připojení k (aktuálně) aktivnímu serveru. Další informace o podpoře SqlClient pro funkce AlwaysOn najdete v tématu Podpora SqlClient pro vysokou dostupnost, zotavení po havárii.

NetworkLibrary

Získá nebo nastaví řetězec, který obsahuje název síťové knihovny sloužící k navázání připojení k SQL Server.

PacketSize

Získá nebo nastaví velikost v bajtech síťových paketů používaných ke komunikaci s instancí SQL Server.

Password

Získá nebo nastaví heslo pro účet SQL Server.

PersistSecurityInfo

Získá nebo nastaví hodnotu označující, zda informace citlivé na zabezpečení, jako je heslo nebo přístupový token, mají být vráceny jako součást připojovací řetězec na připojení vytvořené s tímto SqlConnectionStringBuilder poté, co připojení bylo někdy v otevřeném stavu.

PoolBlockingPeriod

Chování blokující doby pro fond připojení.

Pooling

Získá nebo nastaví logickou hodnotu, která označuje, zda bude připojení ve fondu nebo explicitně otevřen při každém vyžádání připojení.

Replication

Získá nebo nastaví logickou hodnotu, která označuje, zda je podporována replikace pomocí připojení.

TransactionBinding

Získá nebo nastaví řetězcovou hodnotu, která označuje, jak připojení udržuje své přidružení s zařazenou System.Transactions transakcí.

TransparentNetworkIPResolution

Pokud je hodnota tohoto klíče nastavená na true, musí aplikace načíst všechny IP adresy pro určitou položku DNS a pokusit se připojit k první z nich v seznamu. Pokud se připojení nenaváže do 0,5 sekundy, aplikace se pokusí připojit ke všem ostatním paralelně. Při prvních odpovědích aplikace naváže spojení s IP adresou respondenta.

TrustServerCertificate

Získá nebo nastaví hodnotu, která označuje, zda kanál bude zašifrován při obejití řetězce certifikátů k ověření důvěryhodnosti.

TypeSystemVersion

Získá nebo nastaví řetězcovou hodnotu, která označuje systém typů aplikace očekává.

UserID

Získá nebo nastaví ID uživatele, který se má použít při připojování k SQL Server.

UserInstance

Získá nebo nastaví hodnotu, která označuje, zda přesměrovat připojení z výchozí instance SQL Server Express na instanci iniciované modulem runtime spuštěné pod účtem volajícího.

Values

Získá , ICollection který obsahuje hodnoty v SqlConnectionStringBuilder.

WorkstationID

Získá nebo nastaví název pracovní stanice, která se připojuje k SQL Server.

Metody

Add(String, Object)

Přidá položku se zadaným klíčem a hodnotou do objektu DbConnectionStringBuilder.

(Zděděno od DbConnectionStringBuilder)
Clear()

Vymaže obsah SqlConnectionStringBuilder instance.

ClearPropertyDescriptors()

Vymaže kolekci PropertyDescriptor objektů v přidruženém DbConnectionStringBuilderobjektu .

(Zděděno od DbConnectionStringBuilder)
ContainsKey(String)

Určuje, zda obsahuje SqlConnectionStringBuilder konkrétní klíč.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
EquivalentTo(DbConnectionStringBuilder)

Porovná informace o připojení v tomto DbConnectionStringBuilder objektu s informacemi o připojení v zadaném objektu.

(Zděděno od DbConnectionStringBuilder)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetProperties(Hashtable)

Vyplní zadaný Hashtable objekt informacemi o všech vlastnostech tohoto DbConnectionStringBuilderobjektu .

(Zděděno od DbConnectionStringBuilder)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
Remove(String)

Odebere z instance položku se zadaným SqlConnectionStringBuilder klíčem.

ShouldSerialize(String)

Určuje, zda zadaný klíč existuje v této SqlConnectionStringBuilder instanci.

ToString()

Vrátí připojovací řetězec přidružené k tomuto DbConnectionStringBuilder.

(Zděděno od DbConnectionStringBuilder)
TryGetValue(String, Object)

Načte hodnotu odpovídající zadanému klíči z tohoto SqlConnectionStringBuilder.

Explicitní implementace rozhraní

ICollection.CopyTo(Array, Int32)

Zkopíruje prvky objektu ICollectionArraydo , počínaje konkrétním Array indexem.

(Zděděno od DbConnectionStringBuilder)
ICollection.IsSynchronized

Získá hodnotu označující, zda přístup k objektu ICollection je synchronizován (bezpečný pro přístup z více vláken).

(Zděděno od DbConnectionStringBuilder)
ICollection.SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu k .ICollection

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

Vrátí kolekci vlastních atributů pro tuto instanci komponenty.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

Vrátí název třídy této instance komponenty.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

Vrátí název této instance komponenty.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

Vrátí převaděč typů pro tuto instanci komponenty.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

Vrátí výchozí událost pro tuto instanci komponenty.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

Vrátí výchozí vlastnost pro tuto instanci komponenty.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

Vrátí editor zadaného typu pro tuto instanci komponenty.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

Vrátí události pro tuto instanci komponenty.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])

Vrátí události pro tuto instanci komponenty pomocí zadaného pole atributů jako filtr.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

Vrátí vlastnosti pro tuto instanci komponenty.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])

Vrátí vlastnosti pro tuto instanci komponenty pomocí pole atributů jako filtr.

(Zděděno od DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Vrátí objekt, který obsahuje vlastnost popsanou zadaným popisovačem vlastnosti.

(Zděděno od DbConnectionStringBuilder)
IDictionary.Add(Object, Object)

Přidá prvek se zadaným klíčem a hodnotou do objektu IDictionary .

(Zděděno od DbConnectionStringBuilder)
IDictionary.Contains(Object)

Určuje, zda IDictionary objekt obsahuje prvek se zadaným klíčem.

(Zděděno od DbConnectionStringBuilder)
IDictionary.GetEnumerator()

IDictionaryEnumerator Vrátí objekt pro IDictionary objekt .

(Zděděno od DbConnectionStringBuilder)
IDictionary.IsFixedSize

Získá hodnotu označující, zda IDictionary objekt má pevnou velikost.

(Zděděno od DbConnectionStringBuilder)
IDictionary.IsReadOnly

Získá hodnotu, která určuje, zda je IDictionary určena jen pro čtení.

(Zděděno od DbConnectionStringBuilder)
IDictionary.Item[Object]

Získá nebo nastaví prvek se zadaným klíčem.

(Zděděno od DbConnectionStringBuilder)
IDictionary.Remove(Object)

Odebere prvek se zadaným klíčem z objektu IDictionary .

(Zděděno od DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

Vrací enumerátor procházející kolekci.

(Zděděno od DbConnectionStringBuilder)

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky objektu IEnumerable na základě zadaného typu.

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro

Viz také