Condividi tramite


OdbcConnectionStringBuilder Classe

Definizione

Fornisce un mezzo per creare e gestire facilmente il contenuto delle stringhe di connessione utilizzate dalla classe OdbcConnection.

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à
OdbcConnectionStringBuilder
Attributi

Esempio

L'applicazione console seguente compila stringhe di connessione per diversi database ODBC. In primo luogo, l'esempio crea un stringa di connessione per un database di Microsoft Access. Crea quindi un stringa di connessione per un database IBM DB2. L'esempio analizza anche un stringa di connessione esistente e illustra vari modi di modificare il contenuto del stringa di connessione.

Nota

In questo esempio è inclusa una password per dimostrare il funzionamento di OdbcConnectionStringBuilder 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.Odbc;

class Program
{
    static void Main()
    {
        OdbcConnectionStringBuilder builder =
            new OdbcConnectionStringBuilder();
        builder.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");
        builder.Add("Uid", "Admin");
        builder.Add("Pwd", "pass!word1");

        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;uid=Admin;pwd=pass!word1";

        Console.WriteLine("protocol = "
            + builder["protocol"].ToString());
        Console.WriteLine();

        // Modify existing items.
        builder["uid"] = "NewUser";
        builder["pwd"] = "Pass@word2";

        // 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);

        Console.WriteLine("Press Enter to finish.");
        Console.ReadLine();
    }
}
Imports System.Data.Odbc    

Module Module1
  Sub Main()
    Dim builder As New OdbcConnectionStringBuilder()
    builder.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")
    builder.Add("Uid", "Admin")
    builder.Add("Pwd", "pass!word1")

    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;uid=Admin;pwd=pass!word1"

    Console.WriteLine("protocol = " & builder("protocol").ToString())
    Console.WriteLine()

    ' Modify existing items:
    builder("uid") = "NewUser"
    builder("pwd") = "Pass@word2"

    ' 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 stringa di connessione consentono agli sviluppatori di creare a livello di codice stringhe di connessione 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 tipizzata corrispondenti alle coppie chiave/valore note consentite dalle connessioni ODBC e gli sviluppatori possono aggiungere coppie chiave/valore arbitrarie per qualsiasi altro stringa di connessione valori.

Gli sviluppatori che devono creare stringhe di connessione come parte delle applicazioni possono utilizzare la classe OdbcConnectionStringBuilder per compilare e modificare tali stringhe. La classe rende facile la gestione delle stringhe di connessione memorizzate nel 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. La tabella seguente elenca le chiavi note specifiche insieme alle relative proprietà corrispondenti all'interno della OdbcConnectionStringBuilder classe e ai 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
Driver 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 valore) all'interno dell'stringa di connessione Driver contiene un punto e virgola (;), il OdbcConnectionStringBuilder valore circonda il valore con virgolette nella stringa di connessione. Per evitare questo problema con il Driver valore che contiene spesso un punto e virgola, la OdbcConnectionStringBuilder classe circonda sempre questo valore con parentesi graffe. La specifica ODBC indica che i valori del driver che contengono punti e virgola devono essere circondati da parentesi graffe e questa classe gestisce questa classe.

La Item[] proprietà gestisce i tentativi di inserire codice dannoso. Ad esempio, il codice seguente usa 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 seguente stringa di connessione che gestisce il valore non valido in modo sicuro:

Driver={SQL Server};Server="MyServer;NewValue=Bad"

Costruttori

OdbcConnectionStringBuilder()

Inizializza una nuova istanza della classe OdbcConnectionStringBuilder.

OdbcConnectionStringBuilder(String)

Inizializza una nuova istanza della classe OdbcConnectionStringBuilder. 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)
Driver

Ottiene o imposta il nome del driver ODBC associato alla connessione.

Dsn

Ottiene o imposta il nome dell'origine dati (DSN) associato alla connessione.

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 OdbcConnectionStringBuilder.

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 OdbcConnectionStringBuilder.

ClearPropertyDescriptors()

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

(Ereditato da DbConnectionStringBuilder)
ContainsKey(String)

Determina se l'oggetto OdbcConnectionStringBuilder 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 OdbcConnectionStringBuilder.

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 che corrisponde alla chiave fornita da questo oggetto OdbcConnectionStringBuilder.

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