OdbcConnectionStringBuilder 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 OdbcConnection classe .
public ref class OdbcConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))]
public sealed class OdbcConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type OdbcConnectionStringBuilder = class
inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcConnectionStringBuilder+OdbcConnectionStringBuilderConverter))>]
type OdbcConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class OdbcConnectionStringBuilder
Inherits DbConnectionStringBuilder
- Ereditarietà
- Attributi
Esempio
L'applicazione console seguente compila stringhe di connessione per diversi database ODBC. In primo luogo, nell'esempio viene creata una stringa di connessione per un database di Microsoft Access. Crea quindi una stringa di connessione per un database IBM DB2. L'esempio analizza anche una stringa di connessione esistente e illustra vari modi per modificare il contenuto della stringa di connessione.
using System.Data.Odbc;
class Program
{
static void Main()
{
OdbcConnectionStringBuilder builder = new()
{
Driver = "Microsoft Access Driver (*.mdb)"
};
// Call the Add method to explicitly add key/value
// pairs to the internal collection.
builder.Add("Dbq", "C:\\info.mdb");
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Clear current values and reset known keys to their
// default values.
builder.Clear();
// Pass the OdbcConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString =
"driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" +
"hostname=SampleServerName;port=SamplePortNum;" +
"protocol=TCPIP";
Console.WriteLine($"protocol = {builder["protocol"].ToString()}");
Console.WriteLine();
// Call the Remove method to remove items from
// the collection of key/value pairs.
builder.Remove("port");
// Note that calling Remove on a nonexistent item does not
// throw an exception.
builder.Remove("BadItem");
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Setting the indexer adds the associated value, if
// necessary.
builder["NewKey"] = "newValue";
Console.WriteLine(builder.ConnectionString);
}
}
Imports System.Data.Odbc
Module Module1
Sub Main()
Dim builder As New OdbcConnectionStringBuilder With {
.Driver = "Microsoft Access Driver (*.mdb)"
}
' Call the Add method to explicitly add key/value
' pairs to the internal collection.
builder.Add("Dbq", "C:\info.mdb")
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' Clear current values and reset known keys to their
' default values.
builder.Clear()
' Pass the OdbcConnectionStringBuilder an existing
' connection string, and you can retrieve and
' modify any of the elements.
builder.ConnectionString =
"driver={IBM DB2 ODBC DRIVER};Database=SampleDB;" &
"hostname=SampleServerName;port=SamplePortNum;" &
"protocol=TCPIP"
Console.WriteLine("protocol = " & builder("protocol").ToString())
Console.WriteLine()
' Call the Remove method to remove items from
' the collection of key/value pairs.
builder.Remove("port")
' Note that calling Remove on a nonexistent item does not
' throw an exception.
builder.Remove("BadItem")
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' The Item property is the default for the class,
' and setting the Item property adds the value, if
' necessary.
builder("NewKey") = "newValue"
Console.WriteLine(builder.ConnectionString)
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
End Sub
End Module
Commenti
I generatori di stringhe di connessione consentono 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 dalle connessioni ODBC e gli sviluppatori possono aggiungere coppie chiave/valore arbitrarie per qualsiasi altro valore della stringa di connessione.
Gli sviluppatori che devono creare stringhe di connessione come parte delle applicazioni possono usare la OdbcConnectionStringBuilder classe 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. OdbcConnectionStringBuilder esegue controlli solo per il set limitato di coppie chiave/valore note. Pertanto, questa classe può essere usata per creare stringhe di connessione non valide. Nella tabella seguente sono elencate le chiavi note specifiche insieme alle proprietà corrispondenti all'interno della OdbcConnectionStringBuilder classe e i relativi valori predefiniti. Oltre a questi valori specifici, gli sviluppatori possono aggiungere qualsiasi coppia chiave/valore alla raccolta contenuta nell'istanza OdbcConnectionStringBuilder .
| Chiave | Proprietà | Commento | Valore predefinito |
|---|---|---|---|
| Pilota | Driver | Gli sviluppatori non devono includere le parentesi graffe che circondano il nome del driver quando impostano la Driver proprietà. L'istanza OdbcConnectionStringBuilder aggiunge parentesi graffe in base alle esigenze. | Stringa vuota |
| DSN | Dsn | Stringa vuota |
Se qualsiasi valore (diverso dal Driver valore) all'interno della stringa di connessione contiene un punto e virgola (;), racchiude OdbcConnectionStringBuilder il valore tra virgolette nella stringa di connessione. Per evitare questo problema con il Driver valore che contiene spesso un punto e virgola, la OdbcConnectionStringBuilder classe racchiude sempre questo valore tra parentesi graffe. La specifica ODBC indica che i valori del driver che contengono punti e virgola devono essere racchiusi tra parentesi graffe e questa classe gestisce automaticamente questo elemento.
La Item[] proprietà gestisce i tentativi di inserimento di codice dannoso. 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.Odbc.OdbcConnectionStringBuilder
' Take advantage of the Driver property.
builder.Driver = "SQL Server"
builder("Server") = "MyServer;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.Odbc.OdbcConnectionStringBuilder builder =
new System.Data.Odbc.OdbcConnectionStringBuilder();
// Take advantage of the Driver property.
builder.Driver = "SQL Server";
builder["Server"] = "MyServer;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);
Il risultato è la stringa di connessione seguente che gestisce il valore non valido in modo sicuro:
Driver={SQL Server};Server="MyServer;NewValue=Bad"
Costruttori
| Nome | Descrizione |
|---|---|
| OdbcConnectionStringBuilder() |
Inizializza una nuova istanza della classe OdbcConnectionStringBuilder. |
| OdbcConnectionStringBuilder(String) |
Inizializza una nuova istanza della classe OdbcConnectionStringBuilder. La stringa di connessione fornita fornisce i dati per le informazioni di connessione interne dell'istanza. |
Proprietà
| Nome | Descrizione |
|---|---|
| BrowsableConnectionString |
Ottiene o imposta un valore che indica se la ConnectionString proprietà è visibile nelle finestre di progettazione di Visual Studio. (Ereditato da DbConnectionStringBuilder) |
| ConnectionString |
Ottiene o imposta la stringa di connessione associata all'oggetto DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
| Count |
Ottiene il numero corrente di chiavi contenute all'interno della ConnectionString proprietà . (Ereditato da DbConnectionStringBuilder) |
| Driver |
Ottiene o imposta il nome del driver ODBC associato alla connessione. |
| Dsn |
Ottiene o imposta il nome del nome dell'origine dati (DSN) associato alla connessione. |
| IsFixedSize |
Ottiene un valore che indica se ha DbConnectionStringBuilder una dimensione fissa. (Ereditato da DbConnectionStringBuilder) |
| IsReadOnly |
Ottiene un valore che indica se l'oggetto 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 oggetto ICollection contenente le chiavi nell'oggetto OdbcConnectionStringBuilder. |
| Values |
Ottiene un oggetto ICollection che contiene i valori nell'oggetto DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
Metodi
| Nome | Descrizione |
|---|---|
| Add(String, Object) |
Aggiunge una voce con la chiave e il valore specificati in DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
| Clear() |
Cancella il contenuto dell'istanza OdbcConnectionStringBuilder . |
| ClearPropertyDescriptors() |
Cancella la raccolta di PropertyDescriptor oggetti nell'oggetto associato DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
| ContainsKey(String) |
Determina se contiene OdbcConnectionStringBuilder 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 DbConnectionStringBuilder oggetto con le informazioni di connessione nell'oggetto fornito. (Ereditato da DbConnectionStringBuilder) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetProperties(Hashtable) |
Riempie un oggetto fornito Hashtable con informazioni su tutte le proprietà di questo DbConnectionStringBuilderoggetto . (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 OdbcConnectionStringBuilder di . |
| ShouldSerialize(String) |
Indica se la chiave specificata esiste in questa DbConnectionStringBuilder istanza. (Ereditato da DbConnectionStringBuilder) |
| ToString() |
Restituisce la stringa di connessione associata all'oggetto DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
| TryGetValue(String, Object) |
Recupera un valore corrispondente alla chiave fornita da questo OdbcConnectionStringBuilderoggetto . |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Copia gli elementi di in ICollection un Arrayoggetto , a partire da un indice specifico Array . (Ereditato da DbConnectionStringBuilder) |
| ICollection.IsSynchronized |
Ottiene un valore che indica se l'accesso ICollection a è sincronizzato (thread-safe). (Ereditato da DbConnectionStringBuilder) |
| ICollection.SyncRoot |
Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso all'oggetto 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 IDictionaryEnumerator oggetto per l'oggetto IDictionary . (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
| Nome | Descrizione |
|---|---|
| AsParallel(IEnumerable) |
Abilita la parallelizzazione di una query. |
| AsQueryable(IEnumerable) |
Converte un IEnumerable in un IQueryable. |
| 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. |