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
[System.ComponentModel.TypeConverter(typeof(Microsoft.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))]
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(Microsoft.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))>]
type SqlConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
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žije SqlConnectionStringBuilder třídu k vytvoření připojovací řetězec a pak předá ConnectionString vlastnost SqlConnectionStringBuilder instance konstruktoru třídy připojení. Příklad také analyzuje 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 Microsoft.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";

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

Poznámky

Tvůrce připojovací řetězec umožňuje vývojářům programově vytvářet syntakticky správné připojovací řetězce a analyzovat 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 párů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 třídu použít SqlConnectionStringBuilder k sestavení a úpravě připojovacích řetězců. Třída také usnadňuje správu připojovacích řetězců uložených v konfiguračním souboru aplikace.

Nástroj SqlConnectionStringBuilder provede kontroly platných párů klíč/hodnota. Proto nelze použít tuto třídu k vytvoření neplatných připojovacích řetězců; Při pokusu o přidání neplatných párů dojde k výjimce. Třída udržuje pevnou kolekci synonym a může přeložit 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 libovolné 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, když použijete libovolný člen, který vyžaduje řetězec, který obsahuje název klíče, například vlastnost Item nebo metoduRemove. Úplný seznam přijatelných synonym najdete ve ConnectionString vlastnosti.

Vlastnost Item obslužné rutiny 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ě uniká z vnořené dvojice klíč/hodnota:

Dim builder As New Microsoft.Data.SqlClient.SqlConnectionStringBuilder  
builder("Data Source") = "(local)"  
builder("Integrated Security") = True  
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"  
Console.WriteLine(builder.ConnectionString)  
Microsoft.Data.SqlClient.SqlConnectionStringBuilder builder =  
  new Microsoft.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ý bezpečně zpracovává neplatnou hodnotu:

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 informace o interním 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 a zotavení po havárii.

ApplicationName

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

AsynchronousProcessing
Zastaralé.

Zastaralé. Získá nebo nastaví logickou hodnotu, která označuje, zda asynchronní zpracování je povoleno připojení vytvořené 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 připojitelné databáze.

AttestationProtocol

Získá nebo nastaví hodnotu attestation Protocol.

Authentication

Získá nebo nastaví metodu ověřování používanou pro připojení k SQL Database pomocí ověřování Azure Active Directory.

ColumnEncryptionSetting

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

CommandTimeout

Výchozí doba čekání (v sekundách) před ukončením pokusu o spuštění příkazu a vygenerováním chyby Výchozí hodnota je 30 sekund.

ConnectionReset
Zastaralé.
Zastaralé.

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

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 od 0 do 255. Výchozí hodnota pro koncové body mimo Azure je 1. U Azure SQL koncových bodů je výchozí hodnota 2. Počínaje verzí 5.x je pro Azure SQL bezserverových koncových bodů nebo koncových bodů na vyžádání výchozí hodnota 5 pro zlepšení úspěšnosti připojení k nečinné nebo pozastavené instanci. Pokud chcete zakázat opětovné připojení při selhání nečinných připojení, nastavte na hodnotu 0. Pokud ArgumentException je nastavená hodnota 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.

ConnectTimeout

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

ContextConnection
Zastaralé.

Zastaralé. 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.

CurrentLanguage

Získá nebo nastaví jazyk používaný pro databázového serveru upozornění nebo chybové zprávy..

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ávy založené Always Encrypted.

Encrypt

Získá nebo nastaví SqlConnectionEncryptOption hodnotu od verze 5.0 nebo Boolean hodnotu pro dřívější verze, která označuje, zda šifrování TLS je vyžadováno pro všechna data odesílaná mezi klientem a serverem.

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 vlákna vytváření.

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.

FailoverPartnerSPN

Získá nebo nastaví hlavní název služby (SPN) partnera pro převzetí služeb při selhání pro připojení.

HostNameInCertificate

Získá nebo nastaví název hostitele, který se má použít při ověřování certifikátu serveru pro připojení. Pokud není zadán název serveru z objektu Data Source , použije se k ověření certifikátu. (K dispozici pouze ve verzi 5.0 a novější)

InitialCatalog

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

IntegratedSecurity

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

IPAddressPreference

Získá nebo nastaví předvolbu rodiny IP adres při navazování připojení TCP.

IsFixedSize

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

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á objektICollection, 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 zničením.

MaxPoolSize

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

MinPoolSize

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

MultipleActiveResultSets

Pokud je hodnota true, aplikace může udržovat více aktivních sad výsledků (MARS). Pokud je false, musí aplikace zpracovat nebo zrušit všechny sady výsledků z jedné dávky předtím, než může v daném připojení 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 v různých podsítích, nastavení MultiSubnetFailover=true zajistí rychlejší detekci a připojení k (aktuálně) aktivnímu serveru. Další informace o podpoře SqlClient pro skupiny dostupnosti AlwaysOn najdete v tématu Podpora SqlClient pro vysokou dostupnost a zotavení po havárii.

NetworkLibrary

Získá nebo nastaví řetězec, který obsahuje název síťové knihovny použité 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í logickou hodnotu označující, jestli se mají jako součást připojovací řetězec vrátit informace citlivé na SqlConnectionStringBuilder zabezpečení, jako je heslo nebo přístupový token. Tato vlastnost by měla být nastavena na true hodnotu pouze v případě, že vaše aplikace potřebuje přečíst heslo z již otevřeného připojení k databázi. Výchozí hodnota false je bezpečnější nastavení. Použití true této vlastnosti otevře aplikaci rizikům zabezpečení, jako je náhodné protokolování nebo trasování hesla databáze.

PoolBlockingPeriod

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

Pooling

Získá nebo nastaví logickou hodnotu, která označuje, zda připojení bude ve fondu nebo explicitně otevřeno 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í.

ServerCertificate

Získá nebo nastaví cestu k souboru certifikátu, který odpovídá SQL Server certifikát TLS/SSL pro připojení. Povolené formáty certifikátů jsou PEM, DER a CER. Pokud je zadaný, zkontroluje se certifikát SQL Server ověřením, jestli ServerCertificate se zadaný certifikát přesně shoduje. (K dispozici pouze ve verzi 5.1 a novější)

ServerSPN

Získá nebo nastaví hlavní název služby (SPN) zdroje dat.

TransactionBinding

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

TransparentNetworkIPResolution

Pokud je hodnota tohoto klíče nastavená na true, aplikace musí načíst všechny IP adresy pro konkrétní položku DNS a pokusit se připojit k první z nich v seznamu. Pokud se připojení nenaváže během 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ů, který 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í SQL Server Express instance na instanci spuštěnou za běhu pod účtem volajícího.

Values

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

WorkstationID

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

Metody

Clear()

Vymaže obsah SqlConnectionStringBuilder instance.

ContainsKey(String)

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

Remove(String)

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

ShouldSerialize(String)

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

TryGetValue(String, Object)

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

Platí pro