OleDbConnectionStringBuilder Classe

Definizione

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à
OleDbConnectionStringBuilder
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.

Si applica a

Vedi anche