DbConnectionStringBuilder Classe

Définition

Fournit une classe de base pour les générateurs de chaînes de connexion fortement typées.Provides a base class for strongly typed connection string builders.

public ref class DbConnectionStringBuilder : System::Collections::IDictionary, System::ComponentModel::ICustomTypeDescriptor
public class DbConnectionStringBuilder : System.Collections.IDictionary, System.ComponentModel.ICustomTypeDescriptor
type DbConnectionStringBuilder = class
    interface IDictionary
    interface ICustomTypeDescriptor
    interface ICollection
    interface IEnumerable
Public Class DbConnectionStringBuilder
Implements ICustomTypeDescriptor, IDictionary
Héritage
DbConnectionStringBuilder
Dérivé
Implémente

Exemples

L’application console suivante génère deux chaînes de connexion, une pour une base de données Microsoft Jet et une pour une base de données SQL Server.The following console application builds two connection strings, one for a Microsoft Jet database, and one for a SQL Server database. Dans chaque cas, le code utilise une classe DbConnectionStringBuilder générique pour créer la chaîne de connexion, puis passe la ConnectionString propriété de l' DbConnectionStringBuilder instance au constructeur de la classe de connexion fortement typée.In each case, the code uses a generic DbConnectionStringBuilder class to create the connection string, and then passes the ConnectionString property of the DbConnectionStringBuilder instance to the constructor of the strongly type connection class. Ce n’est pas obligatoire. le code peut également avoir créé des instances de générateur de chaînes de connexion fortement typées individuelles.This is not required; the code could also have created individual strongly typed connection string builder instances. L’exemple analyse également une chaîne de connexion existante et illustre les différentes façons de manipuler le contenu de la chaîne de connexion.The example also parses an existing connection string, and demonstrates various ways of manipulating the connection string's contents.

static void Main()
{
    DbConnectionStringBuilder builder =
        new DbConnectionStringBuilder();
    builder.ConnectionString = @"Data Source=c:\MyData\MyDb.mdb";
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0");
    builder.Add("Jet OLEDB:Database Password", "*******");
    builder.Add("Jet OLEDB:System Database",
        @"c:\MyData\Workgroup.mdb");
    // Set up row-level locking.
    builder.Add("Jet OLEDB:Database Locking Mode", 1);

    // The DbConnectionStringBuilder class 
    // is database agnostic, so it's possible to 
    // build any type of connection string using 
    // this class.

    // The ConnectionString property may have been 
    // formatted by the DbConnectionStringBuilder class.
    OleDbConnection oledbConnect = new
        OleDbConnection(builder.ConnectionString);
    Console.WriteLine(oledbConnect.ConnectionString);

    // Use the same DbConnectionStringBuilder to create 
    // a SqlConnection object.
    builder.Clear();
    builder.Add("integrated security", true);
    builder.Add("Initial Catalog", "AdventureWorks");
    builder.Add("Data Source", "(local)");

    SqlConnection sqlConnect = new
        SqlConnection(builder.ConnectionString);
    Console.WriteLine(sqlConnect.ConnectionString);

    // Pass the DbConnectionStringBuilder an existing 
    // connection string, and you can retrieve and
    // modify any of the elements.
    builder.ConnectionString = "server=(local);user id=*******;" +
        "password=*******;initial catalog=AdventureWorks";
    builder["Server"] = ".";
    builder.Remove("User ID");

    // Note that calling Remove on a nonexistent item doesn't
    // throw an exception.
    builder.Remove("BadItem");

    // Setting the indexer adds the value if 
    // necessary.
    builder["Integrated Security"] = true;
    builder.Remove("password");
    builder["User ID"] = "Hello";
    Console.WriteLine(builder.ConnectionString);

    Console.WriteLine("Press Enter to finish.");
    Console.ReadLine();
}
Sub Main()
    Dim builder As New DbConnectionStringBuilder()
    builder.ConnectionString = "Data Source=c:\MyData\MyDb.mdb"
    builder.Add("Provider", "Microsoft.Jet.Oledb.4.0")
    builder.Add("Jet OLEDB:Database Password", "*******")
    builder.Add("Jet OLEDB:System Database", _
        "c:\MyData\Workgroup.mdb")

    ' Set up row-level locking.
    builder.Add("Jet OLEDB:Database Locking Mode", 1)

    ' Note that the DbConnectionStringBuilder class 
    ' is database agnostic, and it's possible to 
    ' build any type of connection string using 
    ' this class.
    ' Notice that the ConnectionString property may have been 
    ' formatted by the DbConnectionStringBuilder class.

    Dim oledbConnect As New _
        OleDbConnection(builder.ConnectionString)
    Console.WriteLine(oledbConnect.ConnectionString)

    ' Use the same DbConnectionStringBuilder to create 
    ' a SqlConnection object.
    builder.Clear()
    builder.Add("integrated security", True)
    builder.Add("Initial Catalog", "AdventureWorks")
    builder.Add("Data Source", "(local)")

    Dim sqlConnect As New SqlConnection(builder.ConnectionString)
    Console.WriteLine(sqlConnect.ConnectionString)

    ' Pass the DbConnectionStringBuilder an existing 
    ' connection string, and you can retrieve and
    ' modify any of the elements.
    builder.ConnectionString = _
        "server=(local);user id=*******;" & _
        "password=*******;initial catalog=AdventureWorks"
    builder.Item("Server") = "."
    builder.Remove("User ID")

    ' Note that calling Remove on a nonexistent item doesn't
    ' throw an exception.
    builder.Remove("BadItem")

    ' The Item property is the default for the class, 
    ' and setting the Item property adds the value if 
    ' necessary.
    builder("Integrated Security") = True
    builder.Remove("password")
    builder.Item("User ID") = "Hello"
    Console.WriteLine(builder.ConnectionString)

    Console.WriteLine("Press Enter to finish.")
    Console.ReadLine()
End Sub

Remarques

La DbConnectionStringBuilder classe fournit la classe de base à partir de laquelle dérivent les générateurs OleDbConnectionStringBuilderde chaînes de connexion fortement typées (SqlConnectionStringBuilder,, etc.).The DbConnectionStringBuilder class provides the base class from which the strongly typed connection string builders (SqlConnectionStringBuilder, OleDbConnectionStringBuilder, and so on) derive. Les générateurs de chaînes de connexion permettent aux développeurs de créer par programmation des chaînes de connexion correctes syntaxiquement, et d’analyser et de régénérer des chaînes de connexion existantes.The connection string builders let developers programmatically create syntactically correct connection strings, and parse and rebuild existing connection strings.

Le DbConnectionStringBuilder a été défini de manière agnostique dans la base de données.The DbConnectionStringBuilder has been defined in a database-agnostic manner. En raison de l’ajout de System.Data.Common l’espace de noms, les développeurs ont besoin d’une classe de base par rapport à laquelle ils peuvent programmer pour créer des chaînes de connexion pouvant fonctionner sur une base de données arbitraire.Because of the addition of the System.Data.Common namespace, developers require a base class against which they can program in order to build connection strings that can work against an arbitrary database. Par conséquent, DbConnectionStringBuilder la classe permet aux utilisateurs d’assigner des paires clé/valeur arbitraires et de passer la chaîne de connexion résultante à un fournisseur fortement typé.Therefore, the DbConnectionStringBuilder class lets users assign arbitrary key/value pairs and pass the resulting connection string to a strongly typed provider. Tous les fournisseurs de données inclus dans le cadre du .NET Framework fournissent une classe fortement typée qui hérite de DbConnectionStringBuilder: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuilderet OleDbConnectionStringBuilder.All the data providers that are included as part of the .NET Framework provide a strongly typed class that inherits from DbConnectionStringBuilder: SqlConnectionStringBuilder, OracleConnectionStringBuilder, OdbcConnectionStringBuilder, and OleDbConnectionStringBuilder.

Le développeur peut créer, assigner et modifier des chaînes de connexion pour n’importe quel fournisseur arbitraire.The developer can build, assign, and edit connection strings for any arbitrary provider. Pour les fournisseurs qui prennent en charge des paires clé/valeur spécifiques, le générateur de chaînes de connexion fournit des propriétés fortement typées correspondant aux paires connues.For providers that support specific key/value pairs, the connection string builder provides strongly typed properties corresponding to the known pairs. Pour prendre en charge les fournisseurs qui requièrent la possibilité de prendre en charge des valeurs inconnues, les développeurs peuvent également fournir des paires clé/valeur arbitraires.In order to support providers that require the ability to support unknown values, developers can also supply arbitrary key/value pairs.

La classe DbConnectionStringBuilder implémente l'interface ICustomTypeDescriptor.The DbConnectionStringBuilder class implements the ICustomTypeDescriptor interface. Cela signifie que la classe fonctionne avec les concepteurs Visual Studio au moment du Design.This means that the class works with Visual Studio designers at design time. Quand les développeurs utilisent le concepteur pour créer des DataSets fortement typés et des connexions fortement typées dans Visual Studio, la classe de générateur de chaînes de connexion fortement typées affiche les propriétés associées à son type et dispose également de convertisseurs qui peuvent mapper les valeurs communes pour les clés connues.When developers use the designer to build strongly typed DataSets and strongly typed connections within Visual Studio, the strongly typed connection string builder class will display the properties associated with its type and will also have converters that can map common values for known keys.

Les développeurs qui ont besoin de créer des chaînes de connexion dans le cadre DbConnectionStringBuilder d’applications peuvent utiliser la classe ou l’un de ses dérivés fortement typés pour générer et modifier des chaînes de connexion.Developers needing to create connection strings as part of applications can use the DbConnectionStringBuilder class or one of its strongly typed derivatives to build and modify connection strings. La DbConnectionStringBuilder classe facilite également la gestion des chaînes de connexion stockées dans un fichier de configuration de l’application.The DbConnectionStringBuilder class also makes it easy to manage connection strings stored in an application configuration file.

Les développeurs peuvent créer des chaînes de connexion à l’aide d’une classe de générateur de chaînes de connexion DbConnectionStringBuilder fortement typées, ou ils peuvent utiliser la classe.Developers can create connection strings using either a strongly typed connection string builder class, or they can use the DbConnectionStringBuilder class. Le DbConnectionStringBuilder n’effectue aucune vérification des paires clé/valeur valides.The DbConnectionStringBuilder performs no checks for valid key/value pairs. Par conséquent, il est possible de créer à l'aide de cette classe des chaînes de connexion non valides.Therefore, it is possible using this class to create invalid connection strings. Prend SqlConnectionStringBuilder en charge uniquement les paires clé/valeur prises en charge par SQL Server ; la tentative d’ajout de paires non valides lèvera une exception.The SqlConnectionStringBuilder supports only key/value pairs that are supported by SQL Server; trying to add invalid pairs will throw an exception.

Le handle Add de la Item[String] méthode et de la propriété tente d’insérer des entrées malveillantes.Both the Add method and Item[String] property handle tries to insert malicious entries. Par exemple, le code suivant place correctement dans une séquence d’échappement la paire clé/valeur imbriquée :For example, the following code correctly escapes the nested key/value pair:

Dim builder As New System.Data.Common.DbConnectionStringBuilder  
builder("Data Source") = "(local)"  
builder("integrated sSecurity") = True  
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"  
System.Data.Common.DbConnectionStringBuilder builder =   
    new System.Data.Common.DbConnectionStringBuilder();  
builder["Data Source"] = "(local)";  
builder["integrated Security"] = true;  
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";  

Le résultat est la chaîne de connexion suivante qui gère la valeur non valide de manière sécurisée.The result is the following connection string that handles the invalid value in a safe manner:

data source=(local);integrated security=True;  
initial catalog="AdventureWorks;NewValue=Bad"  

Constructeurs

DbConnectionStringBuilder()

Initialise une nouvelle instance de la classe DbConnectionStringBuilder.Initializes a new instance of the DbConnectionStringBuilder class.

DbConnectionStringBuilder(Boolean)

Initialise une nouvelle instance de la classe DbConnectionStringBuilder en utilisant les règles ODBC pour citer les valeurs.Initializes a new instance of the DbConnectionStringBuilder class, optionally using ODBC rules for quoting values.

Propriétés

BrowsableConnectionString

Obtient ou définit une valeur qui indique si la propriété ConnectionString est visible dans les concepteurs Visual Studio.Gets or sets a value that indicates whether the ConnectionString property is visible in Visual Studio designers.

ConnectionString

Obtient ou définit la chaîne de connexion associée au DbConnectionStringBuilder.Gets or sets the connection string associated with the DbConnectionStringBuilder.

Count

Obtient le nombre actuel de clés contenues dans la propriété ConnectionString.Gets the current number of keys that are contained within the ConnectionString property.

IsFixedSize

Obtient une valeur qui indique si DbConnectionStringBuilder est de taille fixe.Gets a value that indicates whether the DbConnectionStringBuilder has a fixed size.

IsReadOnly

Obtient une valeur qui indique si l'objet DbConnectionStringBuilder est en lecture seule.Gets a value that indicates whether the DbConnectionStringBuilder is read-only.

Item[String]

Obtient ou définit la valeur associée à la clé spécifiée.Gets or sets the value associated with the specified key.

Keys

Obtient un ICollection qui contient les clés de DbConnectionStringBuilder.Gets an ICollection that contains the keys in the DbConnectionStringBuilder.

Values

Obtient un objet ICollection qui contient les valeurs de l'objet DbConnectionStringBuilder.Gets an ICollection that contains the values in the DbConnectionStringBuilder.

Méthodes

Add(String, Object)

Ajoute une entrée avec la clé et la valeur spécifiées dans DbConnectionStringBuilder.Adds an entry with the specified key and value into the DbConnectionStringBuilder.

AppendKeyValuePair(StringBuilder, String, String)

Offre un moyen efficace et sûr d’ajouter une clé et une valeur à un objet StringBuilder existant.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

AppendKeyValuePair(StringBuilder, String, String, Boolean)

Offre un moyen efficace et sûr d’ajouter une clé et une valeur à un objet StringBuilder existant.Provides an efficient and safe way to append a key and value to an existing StringBuilder object.

Clear()

Efface le contenu de l'instance DbConnectionStringBuilder.Clears the contents of the DbConnectionStringBuilder instance.

ClearPropertyDescriptors()

Efface la collection d’objets PropertyDescriptor du DbConnectionStringBuilder associé.Clears the collection of PropertyDescriptor objects on the associated DbConnectionStringBuilder.

ContainsKey(String)

Détermine si DbConnectionStringBuilder contient une clé spécifique.Determines whether the DbConnectionStringBuilder contains a specific key.

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
EquivalentTo(DbConnectionStringBuilder)

Compare les informations de connexion de cet objet DbConnectionStringBuilder avec les informations de connexion de l’objet fourni.Compares the connection information in this DbConnectionStringBuilder object with the connection information in the supplied object.

GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetProperties(Hashtable)

Remplit un Hashtable fourni avec des informations sur toutes les propriétés de ce DbConnectionStringBuilder.Fills a supplied Hashtable with information about all the properties of this DbConnectionStringBuilder.

GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
Remove(String)

Supprime l'entrée contenant la clé spécifiée dans l'instance de DbConnectionStringBuilder.Removes the entry with the specified key from the DbConnectionStringBuilder instance.

ShouldSerialize(String)

Indique si la clé spécifiée existe dans cette instance de DbConnectionStringBuilder.Indicates whether the specified key exists in this DbConnectionStringBuilder instance.

ToString()

Retourne la chaîne de connexion associée à ce DbConnectionStringBuilder.Returns the connection string associated with this DbConnectionStringBuilder.

TryGetValue(String, Object)

Récupère une valeur correspondant à la clé fournie à partir de cet objet DbConnectionStringBuilder.Retrieves a value corresponding to the supplied key from this DbConnectionStringBuilder.

Implémentations d’interfaces explicites

ICollection.CopyTo(Array, Int32)

Copie les éléments de ICollection dans Array, à partir d'un index particulier de Array.Copies the elements of the ICollection to an Array, starting at a particular Array index.

ICollection.IsSynchronized

Obtient une valeur indiquant si l'accès à ICollection est synchronisé (thread-safe).Gets a value indicating whether access to the ICollection is synchronized (thread safe).

ICollection.SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l'accès à ICollection.Gets an object that can be used to synchronize access to the ICollection.

ICustomTypeDescriptor.GetAttributes()

Retourne une collection d’attributs personnalisés pour cette instance d’un composant.Returns a collection of custom attributes for this instance of a component.

ICustomTypeDescriptor.GetClassName()

Retourne le nom de classe de cette instance d’un composant.Returns the class name of this instance of a component.

ICustomTypeDescriptor.GetComponentName()

Retourne le nom de cette instance d’un composant.Returns the name of this instance of a component.

ICustomTypeDescriptor.GetConverter()

Retourne un convertisseur de type pour cette instance d’un composant.Returns a type converter for this instance of a component.

ICustomTypeDescriptor.GetDefaultEvent()

Retourne l’événement par défaut pour cette instance d’un composant.Returns the default event for this instance of a component.

ICustomTypeDescriptor.GetDefaultProperty()

Retourne la propriété par défaut pour cette instance d’un composant.Returns the default property for this instance of a component.

ICustomTypeDescriptor.GetEditor(Type)

Retourne un éditeur du type spécifié pour cette instance d’un composant.Returns an editor of the specified type for this instance of a component.

ICustomTypeDescriptor.GetEvents()

Retourne les événements pour cette instance d’un composant.Returns the events for this instance of a component.

ICustomTypeDescriptor.GetEvents(Attribute[])

Retourne les événements pour cette instance d’un composant à l’aide du tableau d’attributs spécifié comme filtre.Returns the events for this instance of a component using the specified attribute array as a filter.

ICustomTypeDescriptor.GetProperties()

Retourne les propriétés pour cette instance d’un composant.Returns the properties for this instance of a component.

ICustomTypeDescriptor.GetProperties(Attribute[])

Retourne les propriétés de cette instance d’un composant à l’aide du tableau d’attributs comme filtre.Returns the properties for this instance of a component using the attribute array as a filter.

ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Retourne un objet qui contient la propriété décrite par le descripteur de propriété spécifié.Returns an object that contains the property described by the specified property descriptor.

IDictionary.Add(Object, Object)

Ajoute un élément avec la clé et la valeur fournies à l'objet IDictionary.Adds an element with the provided key and value to the IDictionary object.

IDictionary.Contains(Object)

Détermine si l'objet IDictionary contient un élément avec la clé spécifiée.Determines whether the IDictionary object contains an element with the specified key.

IDictionary.GetEnumerator()

Retourne un objet IDictionaryEnumerator pour l’objet IDictionary.Returns an IDictionaryEnumerator object for the IDictionary object.

IDictionary.IsFixedSize
IDictionary.IsReadOnly
IDictionary.Item[Object]

Obtient ou définit l'élément à l'aide de la clé spécifiée.Gets or sets the element with the specified key.

IDictionary.Remove(Object)

Supprime de l’objet IDictionary l’élément ayant la clé spécifiée.Removes the element with the specified key from the IDictionary object.

IEnumerable.GetEnumerator()

Retourne un énumérateur qui itère au sein d’une collection.Returns an enumerator that iterates through a collection.

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

S’applique à

Voir aussi