OleDbConnectionStringBuilder 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 OleDbConnection.
public ref class OleDbConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))]
public sealed class OleDbConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbConnectionStringBuilder+OleDbConnectionStringBuilderConverter))>]
type OleDbConnectionStringBuilder = class
inherit DbConnectionStringBuilder
Public NotInheritable Class OleDbConnectionStringBuilder
Inherits DbConnectionStringBuilder
- Ereditarietà
- Attributi
Esempio
L'applicazione console seguente compila stringhe di connessione per diversi database OLE DB. In primo luogo, l'esempio crea un stringa di connessione per un database Microsoft Access e quindi crea un 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.
Note
Questo esempio include una password per illustrare come OleDbConnectionStringBuilder funziona con le stringhe di connessione. Nelle applicazioni è consigliabile usare l'autenticazione di Windows. Se è necessario usare una password, non includere una password hardcoded nell'applicazione.
using System.Data.OleDb;
class Program
{
static void Main(string[] args)
{
OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder();
builder.ConnectionString = @"Data Source=C:\Sample.mdb";
// Call the Add method to explicitly add key/value
// pairs to the internal collection.
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
builder.Add("Jet OLEDB:Database Password", "MyPassword!");
builder.Add("Jet OLEDB:System Database", @"C:\Workgroup.mdb");
// Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1);
Console.WriteLine(builder.ConnectionString);
Console.WriteLine();
// Clear current values and reset known keys to their
// default values.
builder.Clear();
// Pass the OleDbConnectionStringBuilder an existing
// connection string, and you can retrieve and
// modify any of the elements.
builder.ConnectionString =
"Provider=DB2OLEDB;Network Transport Library=TCPIP;" +
"Network Address=192.168.0.12;Initial Catalog=DbAdventures;" +
"Package Collection=SamplePackage;Default Schema=SampleSchema;";
Console.WriteLine("Network Address = " + builder["Network Address"].ToString());
Console.WriteLine();
// Modify existing items.
builder["Package Collection"] = "NewPackage";
builder["Default Schema"] = "NewSchema";
// Call the Remove method to remove items from
// the collection of key/value pairs.
builder.Remove("User ID");
// 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 value, if
// necessary.
builder["User ID"] = "SampleUser";
builder["Password"] = "SamplePassword";
Console.WriteLine(builder.ConnectionString);
Console.WriteLine("Press Enter to finish.");
Console.ReadLine();
}
}
Imports System.Data.OleDb
Imports System.Collections
Module Module1
Sub Main()
Dim builder As New OleDbConnectionStringBuilder()
builder.ConnectionString = "Data Source=C:\Sample.mdb"
' Call the Add method to explicitly add key/value
' pairs to the internal collection.
builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
builder.Add("Jet OLEDB:Database Password", "MyPassword!")
builder.Add("Jet OLEDB:System Database", "C:\Workgroup.mdb")
' Set up row-level locking.
builder.Add("Jet OLEDB:Database Locking Mode", 1)
Console.WriteLine(builder.ConnectionString)
Console.WriteLine()
' Clear current values and reset known keys to their
' default values.
builder.Clear()
' Pass the OleDbConnectionStringBuilder an existing
' connection string, and you can retrieve and
' modify any of the elements.
builder.ConnectionString = "..."
Console.WriteLine("Network Address = " & builder("Network Address").ToString())
Console.WriteLine()
' Modify existing items.
builder("Package Collection") = "NewPackage"
builder("Default Schema") = "NewSchema"
' Call the Remove method to remove items from
' the collection of key/value pairs.
builder.Remove("User ID")
' 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("User ID") = "SampleUser"
builder("Password") = "SamplePassword"
Console.WriteLine(builder.ConnectionString)
Console.WriteLine("Press Enter to finish.")
Console.ReadLine()
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 stringa di connessione fornisce proprietà fortemente tipizzate corrispondenti alle coppie chiave/valore note consentite dalle connessioni OLE DB e gli sviluppatori possono aggiungere coppie chiave/valore arbitrarie per qualsiasi altro valore stringa di connessione. La classe OleDbConnectionStringBuilder implementa l'interfaccia ICustomTypeDescriptor. Ciò significa che la classe funziona con Visual Studio .NET progettisti in fase di progettazione. Quando gli sviluppatori usano la finestra di progettazione per compilare set di dati fortemente tipizzati e connessioni fortemente tipizzate all'interno di Visual Studio .NET, la classe generatore stringa di connessione fortemente tipizzata visualizzerà le proprietà associate al relativo tipo e includerà anche convertitori in grado di eseguire il mapping dei valori comuni per le chiavi note.
Gli sviluppatori che devono creare stringhe di connessione come parte delle applicazioni possono usare la OleDbConnectionStringBuilder 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. OleDbConnectionStringBuilder 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 e le relative proprietà corrispondenti all'interno della OleDbConnectionStringBuilder classe e i relativi valori predefiniti. Oltre a questi valori specifici, gli sviluppatori possono aggiungere qualsiasi coppia chiave/valore alla raccolta contenuta nell'istanza OleDbConnectionStringBuilder :
| Chiave | Proprietà | Valore predefinito |
|---|---|---|
| Nome file | FileName | "" |
| Provider | Provider | "" |
| Origine dati | DataSource | "" |
| Rendere persistenti le informazioni di sicurezza | PersistSecurityInfo | Falso |
| Servizi OLE DB | OleDbServices | -13 |
La proprietà Item[] 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.OleDb.OleDbConnectionStringBuilder
builder("Provider") = "Microsoft.Jet.OLEDB.4.0"
builder("Data Source") = "C:\Sample.mdb"
builder("User Id") = "Admin;NewValue=Bad"
System.Data.OleDb.OleDbConnectionStringBuilder builder =
new System.Data.OleDb.OleDbConnectionStringBuilder();
builder["Provider"] = "Microsoft.Jet.OLEDB.4.0";
builder["Data Source"] = "C:\\Sample.mdb";
builder["User Id"] = "Admin;NewValue=Bad";
Il risultato è la stringa di connessione seguente che gestisce il valore non valido in modo sicuro:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sample.mdb;User ID="Admin;NewValue=Bad"
Costruttori
| Nome | Descrizione |
|---|---|
| OleDbConnectionStringBuilder() |
Inizializza una nuova istanza della classe OleDbConnectionStringBuilder. |
| OleDbConnectionStringBuilder(String) |
Inizializza una nuova istanza della classe OleDbConnectionStringBuilder. 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 proprietà ConnectionString è visibile nelle finestre di progettazione di Visual Studio. (Ereditato da DbConnectionStringBuilder) |
| ConnectionString |
Ottiene o imposta il stringa di connessione associato al DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
| Count |
Ottiene il numero corrente di chiavi contenute all'interno della ConnectionString proprietà . (Ereditato da DbConnectionStringBuilder) |
| DataSource |
Ottiene o imposta il nome dell'origine dati a cui connettersi. |
| FileName |
Ottiene o imposta il nome del file UDL (Universal Data Link) per la connessione all'origine dati. |
| 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 OleDbConnectionStringBuilder. |
| OleDbServices |
Ottiene o imposta il valore da passare per la chiave di OLE DB Services all'interno della stringa di connessione. |
| PersistSecurityInfo |
Ottiene o imposta un valore booleano che indica se le informazioni sensibili alla sicurezza, ad esempio la password, vengono restituite come parte della connessione se la connessione è aperta o è mai stata aperta. |
| Provider |
Ottiene o imposta una stringa contenente il nome del provider di dati associato alla stringa di connessione interna. |
| 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 OleDbConnectionStringBuilder . |
| ClearPropertyDescriptors() |
Cancella la raccolta di PropertyDescriptor oggetti nell'oggetto associato DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
| ContainsKey(String) |
Determina se il OleDbConnectionStringBuilder 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 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 OleDbConnectionStringBuilder di . |
| ShouldSerialize(String) |
Indica se la chiave specificata esiste in questa DbConnectionStringBuilder istanza. (Ereditato da DbConnectionStringBuilder) |
| ToString() |
Restituisce il stringa di connessione associato a questo DbConnectionStringBuilder. (Ereditato da DbConnectionStringBuilder) |
| TryGetValue(String, Object) |
Recupera un valore corrispondente alla chiave fornita dall'istanza OleDbConnectionStringBuilder di . |
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 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 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. |