SqlConnectionStringBuilder Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce un modo semplice per creare e gestire il contenuto delle stringhe di connessione usate dalla classe SqlConnection.
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
- Ereditarietà
- Attributi
Esempio
L'applicazione console seguente compila stringhe di connessione per un database di SQL Server. Il codice usa la classe SqlConnectionStringBuilder per creare la stringa di connessione. Nell'esempio viene quindi analizzata la stringa di connessione e vengono illustrate varie modalità di modifica del contenuto.
// Create a new SqlConnectionStringBuilder and
// initialize it with a few name/value pairs.
SqlConnectionStringBuilder builder = new(
"Server=(local);Integrated Security=true;" +
"Initial Catalog=AdventureWorks"
);
// The input connection string used the
// Server key, but the new connection string uses
// the well-known Data Source key instead.
Console.WriteLine($"Original connection string: '{builder.ConnectionString}'");
// Now that the connection string has been parsed,
// you can work with individual items.
Console.WriteLine($"Initial catalog: '{builder.InitialCatalog}'");
builder.InitialCatalog = "Northwind";
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($"Modified connection string: '{builder.ConnectionString}'");
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(
"Server=(local);Integrated Security=true;" &
"Initial Catalog=AdventureWorks"
)
' The input connection string used the
' Server key, but the new connection string uses
' the well-known Data Source key instead.
Console.WriteLine("Original connection string: " + builder.ConnectionString)
' Now that the connection string has been parsed,
' you can work with individual items.
Console.WriteLine("Initial catalog: " + builder.InitialCatalog)
builder.InitialCatalog = "Northwind"
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("Modified connection string: " + builder.ConnectionString)
End Sub
End Module
Commenti
Il generatore di stringhe di connessione consente agli sviluppatori di creare stringhe di connessione sintatticamente corrette e analizzare e ricompilare le stringhe di connessione esistenti usando proprietà e metodi della classe . Il generatore di stringhe di connessione fornisce proprietà fortemente tipizzate corrispondenti alle coppie chiave/valore note consentite da SQL Server. Se è necessario creare stringhe di connessione come parte dell'app, è possibile usare la classe SqlConnectionStringBuilder per compilare e modificare le stringhe di connessione. La classe semplifica anche la gestione delle stringhe di connessione archiviate in un file di configurazione dell'applicazione.
SqlConnectionStringBuilder esegue controlli per le coppie chiave/valore valide. Pertanto, non è possibile usare questa classe per creare stringhe di connessione non valide; il tentativo di aggiungere coppie non valide genererà un'eccezione. La classe gestisce una raccolta fissa di sinonimi e può traslare da un sinonimo al nome di chiave noto corrispondente.
Ad esempio, quando si usa la proprietà Item
per recuperare un valore, è possibile specificare una stringa contenente qualsiasi sinonimo della chiave necessaria. Ad esempio, è possibile specificare "Indirizzo di rete", "addr" o qualsiasi altro sinonimo accettabile per questa chiave all'interno di una stringa di connessione quando si usa un membro che richiede una stringa contenente il nome della chiave, ad esempio la proprietà Item[String] o il metodo Remove. Per un elenco completo dei sinonimi accettabili, vedere la proprietà ConnectionString.
La proprietà Item[String] gestisce i tentativi di inserimento di voci dannose. Ad esempio, il codice seguente, usando la proprietà predefinita Item
(l'indicizzatore, in C#) esegue correttamente l'escape della coppia chiave/valore annidata:
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);
Il risultato è la stringa di connessione seguente che gestisce il valore non valido in modo sicuro:
Source=(local);Initial Catalog="AdventureWorks;NewValue=Bad";
Integrated Security=True
Costruttori
SqlConnectionStringBuilder() |
Inizializza una nuova istanza della classe SqlConnectionStringBuilder. |
SqlConnectionStringBuilder(String) |
Inizializza una nuova istanza della classe SqlConnectionStringBuilder. La stringa di connessione fornita fornisce i dati per le informazioni di connessione interne dell'istanza. |
Proprietà
ApplicationIntent |
Dichiara il tipo di carico di lavoro dell'applicazione durante la connessione a un database in un gruppo di disponibilità di SQL Server. È possibile impostare il valore di questa proprietà con ApplicationIntent. Per altre informazioni sul supporto di SqlClient per i gruppi di disponibilità AlwaysOn, vedere Supporto SqlClient per la disponibilità elevata, ripristino di emergenza. |
ApplicationName |
Ottiene o imposta il nome dell'applicazione associata alla stringa di connessione. |
AsynchronousProcessing |
Ottiene o imposta un valore booleano che indica se l'elaborazione asincrona è consentita dalla connessione creata tramite questa stringa di connessione. |
AttachDBFilename |
Ottiene o imposta una stringa contenente il nome del file di dati primario. Include il nome completo del percorso di un database collegabile. |
Authentication |
Ottiene l'autenticazione della stringa di connessione. |
BrowsableConnectionString |
Ottiene o imposta un valore che indica se la proprietà ConnectionString è visibile nelle finestre di progettazione di Visual Studio. (Ereditato da DbConnectionStringBuilder) |
ColumnEncryptionSetting |
Ottiene o imposta le impostazioni di crittografia della colonna per il generatore di stringhe di connessione. |
ConnectionReset |
Obsoleti.
Obsoleto. Ottiene o imposta un valore booleano che indica se la connessione viene reimpostata quando viene disegnata dal pool di connessioni. |
ConnectionString |
Ottiene o imposta la stringa di connessione associata al DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
ConnectRetryCount |
Numero di riconnessioni tentate dopo aver identificato che si è verificato un errore di connessione inattivo. Deve essere un numero intero compreso tra 0 e 255. Il valore predefinito è 1. Impostare su 0 per disabilitare la riconnessione in caso di errori di connessione inattiva. Verrà generata una ArgumentException se impostata su un valore esterno all'intervallo consentito. |
ConnectRetryInterval |
Intervallo di tempo (in secondi) tra ogni tentativo di riconnessione dopo l'identificazione di un errore di connessione inattivo. Deve essere un numero intero compreso tra 1 e 60. Il valore predefinito è 10 secondi. Verrà generata una ArgumentException se impostata su un valore esterno all'intervallo consentito. |
ConnectTimeout |
Ottiene o imposta l'intervallo di tempo , espresso in secondi, per attendere una connessione al server prima di terminare il tentativo e generare un errore. |
ContextConnection |
Ottiene o imposta un valore che indica se deve essere effettuata una connessione client/server o in-process a SQL Server. |
Count |
Ottiene il numero corrente di chiavi contenute nella proprietà ConnectionString. (Ereditato da DbConnectionStringBuilder) |
CurrentLanguage |
Ottiene o imposta il nome del record di linguaggio di SQL Server. |
DataSource |
Ottiene o imposta il nome o l'indirizzo di rete dell'istanza di SQL Server a cui connettersi. |
EnclaveAttestationUrl |
Ottiene o imposta l'URL di attestazione dell'enclave da usare con Always Encrypted basato sull'enclave. |
Encrypt |
Ottiene o imposta un valore booleano che indica se SQL Server usa la crittografia SSL per tutti i dati inviati tra il client e il server se il server dispone di un certificato installato. |
Enlist |
Ottiene o imposta un valore booleano che indica se il pool di connessioni di SQL Server inserisce automaticamente la connessione nel contesto di transazione corrente del thread di creazione. |
FailoverPartner |
Ottiene o imposta il nome o l'indirizzo del server partner a cui connettersi se il server primario è inattivo. |
InitialCatalog |
Ottiene o imposta il nome del database associato alla connessione. |
IntegratedSecurity |
Ottiene o imposta un valore booleano che indica se l'ID utente e la password vengono specificati nella connessione (quando |
IsFixedSize |
Ottiene un valore che indica se il SqlConnectionStringBuilder ha una dimensione fissa. |
IsFixedSize |
Ottiene un valore che indica se il DbConnectionStringBuilder ha una dimensione fissa. (Ereditato da DbConnectionStringBuilder) |
IsReadOnly |
Ottiene un valore che indica se il DbConnectionStringBuilder è di sola lettura. (Ereditato da DbConnectionStringBuilder) |
Item[String] |
Ottiene o imposta il valore associato alla chiave specificata. In C# questa proprietà è l'indicizzatore. |
Keys |
Ottiene un ICollection che contiene le chiavi nel SqlConnectionStringBuilder. |
LoadBalanceTimeout |
Ottiene o imposta il tempo minimo, espresso in secondi, affinché la connessione sia attiva nel pool di connessioni prima di essere eliminata definitivamente. |
MaxPoolSize |
Ottiene o imposta il numero massimo di connessioni consentite nel pool di connessioni per questa stringa di connessione specifica. |
MinPoolSize |
Ottiene o imposta il numero minimo di connessioni consentite nel pool di connessioni per questa stringa di connessione specifica. |
MultipleActiveResultSets |
Se true, un'applicazione può mantenere più set di risultati attivi (MARS). Se false, un'applicazione deve elaborare o annullare tutti i set di risultati da un batch prima di poter eseguire qualsiasi altro batch in tale connessione. Per altre informazioni, vedere set di risultati attivi multipli (MARS). |
MultiSubnetFailover |
Se l'applicazione si connette a un gruppo di disponibilità Always On o a un'istanza del cluster di failover Always On in subnet diverse, l'impostazione di MultiSubnetFailover=true offre un rilevamento più rapido di e la connessione al server attivo (attualmente). Per altre informazioni sul supporto di SqlClient per le funzionalità AlwaysOn, vedere SqlClient Support for High Availability, Disaster Recovery. |
NetworkLibrary |
Ottiene o imposta una stringa contenente il nome della libreria di rete utilizzata per stabilire una connessione a SQL Server. |
PacketSize |
Ottiene o imposta le dimensioni in byte dei pacchetti di rete usati per comunicare con un'istanza di SQL Server. |
Password |
Ottiene o imposta la password per l'account di SQL Server. |
PersistSecurityInfo |
Ottiene o imposta un valore che indica se le informazioni sensibili alla sicurezza, ad esempio la password o il token di accesso, devono essere restituite come parte della stringa di connessione in una connessione creata con questo SqlConnectionStringBuilder dopo che tale connessione è mai stata aperta. |
PoolBlockingPeriod |
Comportamento del periodo di blocco per un pool di connessioni. |
Pooling |
Ottiene o imposta un valore booleano che indica se la connessione verrà inserita in pool o aperta in modo esplicito ogni volta che viene richiesta la connessione. |
Replication |
Ottiene o imposta un valore booleano che indica se la replica è supportata tramite la connessione. |
TransactionBinding |
Ottiene o imposta un valore stringa che indica come la connessione mantiene l'associazione a una transazione |
TransparentNetworkIPResolution |
Quando il valore di questa chiave è impostato su |
TrustServerCertificate |
Ottiene o imposta un valore che indica se il canale verrà crittografato ignorando l'esecuzione della catena di certificati per convalidare l'attendibilità. |
TypeSystemVersion |
Ottiene o imposta un valore stringa che indica il sistema di tipi previsto dall'applicazione. |
UserID |
Ottiene o imposta l'ID utente da utilizzare per la connessione a SQL Server. |
UserInstance |
Ottiene o imposta un valore che indica se reindirizzare la connessione dall'istanza predefinita di SQL Server Express a un'istanza avviata dal runtime in esecuzione con l'account del chiamante. |
Values |
Ottiene un ICollection che contiene i valori nella SqlConnectionStringBuilder. |
WorkstationID |
Ottiene o imposta il nome della workstation che si connette a SQL Server. |
Metodi
Add(String, Object) |
Aggiunge una voce con la chiave e il valore specificati nella DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
Clear() |
Cancella il contenuto dell'istanza di SqlConnectionStringBuilder. |
ClearPropertyDescriptors() |
Cancella l'insieme di oggetti PropertyDescriptor nell'oggetto associato DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
ContainsKey(String) |
Determina se il SqlConnectionStringBuilder contiene una chiave specifica. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
EquivalentTo(DbConnectionStringBuilder) |
Confronta le informazioni di connessione in questo oggetto DbConnectionStringBuilder con le informazioni di connessione nell'oggetto fornito. (Ereditato da DbConnectionStringBuilder) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetProperties(Hashtable) |
Riempie un Hashtable fornito con informazioni su tutte le proprietà di questa DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
Remove(String) |
Rimuove la voce con la chiave specificata dall'istanza di SqlConnectionStringBuilder. |
ShouldSerialize(String) |
Indica se la chiave specificata esiste in questa istanza di SqlConnectionStringBuilder. |
ToString() |
Restituisce la stringa di connessione associata a questa DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
TryGetValue(String, Object) |
Recupera un valore corrispondente alla chiave fornita da questo SqlConnectionStringBuilder. |
Implementazioni dell'interfaccia esplicita
ICollection.CopyTo(Array, Int32) |
Copia gli elementi del ICollection in un Array, a partire da un particolare indice Array. (Ereditato da DbConnectionStringBuilder) |
ICollection.IsSynchronized |
Ottiene un valore che indica se l'accesso al ICollection è sincronizzato (thread-safe). (Ereditato da DbConnectionStringBuilder) |
ICollection.SyncRoot |
Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso al ICollection. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetAttributes() |
Restituisce una raccolta di attributi personalizzati per questa istanza di un componente. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetClassName() |
Restituisce il nome della classe di questa istanza di un componente. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetComponentName() |
Restituisce il nome di questa istanza di un componente. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetConverter() |
Restituisce un convertitore di tipi per questa istanza di un componente. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetDefaultEvent() |
Restituisce l'evento predefinito per questa istanza di un componente. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetDefaultProperty() |
Restituisce la proprietà predefinita per questa istanza di un componente. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetEditor(Type) |
Restituisce un editor del tipo specificato per questa istanza di un componente. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetEvents() |
Restituisce gli eventi per questa istanza di un componente. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetEvents(Attribute[]) |
Restituisce gli eventi per questa istanza di un componente utilizzando la matrice di attributi specificata come filtro. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetProperties() |
Restituisce le proprietà per questa istanza di un componente. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetProperties(Attribute[]) |
Restituisce le proprietà per questa istanza di un componente utilizzando la matrice di attributi come filtro. (Ereditato da DbConnectionStringBuilder) |
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) |
Restituisce un oggetto che contiene la proprietà descritta dal descrittore di proprietà specificato. (Ereditato da DbConnectionStringBuilder) |
IDictionary.Add(Object, Object) |
Aggiunge un elemento con la chiave e il valore specificati all'oggetto IDictionary. (Ereditato da DbConnectionStringBuilder) |
IDictionary.Contains(Object) |
Determina se l'oggetto IDictionary contiene un elemento con la chiave specificata. (Ereditato da DbConnectionStringBuilder) |
IDictionary.GetEnumerator() |
Restituisce un oggetto IDictionaryEnumerator per l'oggetto IDictionary. (Ereditato da DbConnectionStringBuilder) |
IDictionary.IsFixedSize |
Ottiene un valore che indica se l'oggetto IDictionary ha una dimensione fissa. (Ereditato da DbConnectionStringBuilder) |
IDictionary.IsReadOnly |
Ottiene un valore che indica se il IDictionary è di sola lettura. (Ereditato da DbConnectionStringBuilder) |
IDictionary.Item[Object] |
Ottiene o imposta l'elemento con la chiave specificata. (Ereditato da DbConnectionStringBuilder) |
IDictionary.Remove(Object) |
Rimuove l'elemento con la chiave specificata dall'oggetto IDictionary. (Ereditato da DbConnectionStringBuilder) |
IEnumerable.GetEnumerator() |
Restituisce un enumeratore che scorre un insieme. (Ereditato da DbConnectionStringBuilder) |
Metodi di estensione
Cast<TResult>(IEnumerable) |
Esegue il cast degli elementi di un IEnumerable al tipo specificato. |
OfType<TResult>(IEnumerable) |
Filtra gli elementi di un IEnumerable in base a un tipo specificato. |
AsParallel(IEnumerable) |
Abilita la parallelizzazione di una query. |
AsQueryable(IEnumerable) |
Converte un IEnumerable in un IQueryable. |
Si applica a
Vedi anche
- stringhe di connessione
(ADO.NET) - ADO.NET Panoramica