OleDbConnectionStringBuilder Classe

Definizione

Fornisce un mezzo per creare e gestire facilmente il contenuto delle stringhe di connessione utilizzate 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, nell'esempio viene creata una stringa di connessione per un database Microsoft Access e quindi viene creata 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.

Nota

In questo esempio è inclusa una password per dimostrare il funzionamento di OleDbConnectionStringBuilder con le stringhe di connessione. Nelle applicazioni, è consigliabile utilizzare Windows Authentication. Quando è necessario utilizzare una password, non includere 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 = _
        "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()

    ' 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 a livello di codice stringhe di connessione sintatticamente corrette, nonché di analizzare e ricompilare le stringhe di connessione esistenti, utilizzando le proprietà e i metodi della classe. Il generatore di stringhe 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 della stringa di connessione. La classe OleDbConnectionStringBuilder implementa l'interfaccia ICustomTypeDescriptor. Ciò significa che la classe funziona con le finestre di progettazione .NET di Visual Studio 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 di stringhe di connessione fortemente tipizzata visualizzerà le proprietà associate al relativo tipo e avrà 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 utilizzare la classe OleDbConnectionStringBuilder per compilare e modificare tali stringhe. La classe rende facile la gestione delle stringhe di connessione memorizzate nel file di configurazione dell'applicazione. OleDbConnectionStringBuilder esegue i 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
File Name FileName ""
Provider Provider ""
origine dati DataSource ""
Persist Security Info PersistSecurityInfo Falso
Servizi OLE DB OleDbServices -13

La Item[] proprietà 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 seguente stringa di connessione 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

OleDbConnectionStringBuilder()

Inizializza una nuova istanza della classe OleDbConnectionStringBuilder.

OleDbConnectionStringBuilder(String)

Inizializza una nuova istanza della classe OleDbConnectionStringBuilder. La stringa di connessione indicata fornisce i dati per le informazioni di connessione interne dell'istanza.

Proprietà

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 la stringa di connessione associata all'oggetto DbConnectionStringBuilder.

(Ereditato da DbConnectionStringBuilder)
Count

Ottiene il numero corrente di chiavi contenute all'interno della proprietà ConnectionString.

(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, Collegamento dati universale) per la connessione all'origine dati.

IsFixedSize

Ottiene un valore che indica se le dimensioni dell'oggetto DbConnectionStringBuilder sono fisse.

(Ereditato da DbConnectionStringBuilder)
IsReadOnly

Ottiene un valore che indica se 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 che contiene le chiavi presenti in OleDbConnectionStringBuilder.

OleDbServices

Ottiene o imposta il valore da passare per la chiave di Servizi OLE DB all'interno della stringa di connessione.

PersistSecurityInfo

Ottiene o imposta un valore Boolean che indica se le informazioni sensibili alla sicurezza, quali la password, non vengono restituite come parte della connessione se quest'ultima è aperta o è già stata aperta.

Provider

Ottiene o imposta una stringa che contiene il nome del provider di dati associato alla stringa di connessione interna.

Values

Ottiene un oggetto ICollection contenente i valori di DbConnectionStringBuilder.

(Ereditato da DbConnectionStringBuilder)

Metodi

Add(String, Object)

Aggiunge una voce con la chiave e il valore specificati nell'oggetto DbConnectionStringBuilder.

(Ereditato da DbConnectionStringBuilder)
Clear()

Cancella il contenuto dell'istanza di OleDbConnectionStringBuilder.

ClearPropertyDescriptors()

Cancella la raccolta di oggetti PropertyDescriptor per l'oggetto DbConnectionStringBuilder associato.

(Ereditato da DbConnectionStringBuilder)
ContainsKey(String)

Determina se l'oggetto OleDbConnectionStringBuilder contiene una chiave specifica.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
EquivalentTo(DbConnectionStringBuilder)

Confronta le informazioni sulla connessione in questo oggetto DbConnectionStringBuilder con le informazioni sulla connessione nell'oggetto fornito.

(Ereditato da DbConnectionStringBuilder)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetProperties(Hashtable)

Compila un oggetto Hashtable fornito con informazioni su tutte le proprietà di DbConnectionStringBuilder.

(Ereditato da DbConnectionStringBuilder)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Remove(String)

Rimuove la voce con la chiave specificata dall'istanza di OleDbConnectionStringBuilder.

ShouldSerialize(String)

Indica se la chiave specificata esiste in questa istanza DbConnectionStringBuilder.

(Ereditato da DbConnectionStringBuilder)
ToString()

Restituisce la stringa di connessione associata a questo oggetto DbConnectionStringBuilder.

(Ereditato da DbConnectionStringBuilder)
TryGetValue(String, Object)

Recupera un valore corrispondente alla chiave fornita da questa istanza OleDbConnectionStringBuilder.

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia gli elementi di ICollection in Array a partire da un particolare indice Array.

(Ereditato da DbConnectionStringBuilder)
ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso a ICollection è sincronizzato (thread-safe).

(Ereditato da DbConnectionStringBuilder)
ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso a 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 usando come filtro la matrice di attributi specificata.

(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 usando come filtro la matrice di attributi.

(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 forniti 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.Item[Object]

Ottiene o imposta l'elemento con la chiave specificata.

(Ereditato da DbConnectionStringBuilder)
IDictionary.Remove(Object)

Rimuove dall'oggetto IDictionary l'elemento con la chiave specificata.

(Ereditato da DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

Restituisce un enumeratore che consente di eseguire l'iterazione di una raccolta.

(Ereditato da DbConnectionStringBuilder)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche