OleDbConnectionStringBuilder Clase

Definición

Proporciona una manera simple de crear y administrar el contenido de las cadenas de conexión que utiliza la clase 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
Herencia
OleDbConnectionStringBuilder
Atributos

Ejemplos

La siguiente aplicación de consola compila cadenas de conexión para varias bases de datos OLE DB. En primer lugar, en el ejemplo se crea una cadena de conexión para una base de datos de Microsoft Access y, a continuación, se crea una cadena de conexión para una base de datos ibm DB2. En el ejemplo también se analiza una cadena de conexión existente y se muestran varias formas de manipular el contenido de la cadena de conexión.

Nota

Este ejempo incluye una contraseña para demostrar cómo OleDbConnectionStringBuilder funciona con cadenas de conexión. Se recomienda que utilice autenticación de Windows en sus aplicaciones. Si necesita utilizar una contraseña en su aplicación, no incluya una contraseña codificada de forma rígida.

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

Comentarios

El generador de cadenas de conexión permite a los programadores crear mediante programación cadenas de conexión sintácticamente correctas, y analizar y volver a generar cadenas de conexión existentes, utilizando las propiedades y los métodos de la clase. El generador de cadenas de conexión proporciona propiedades fuertemente tipadas correspondientes a los pares clave-valor conocidos permitidos por las conexiones OLE DB, y los desarrolladores pueden agregar pares clave-valor arbitrarios para cualquier otro valor de cadena de conexión. La clase OleDbConnectionStringBuilder implementa la interfaz ICustomTypeDescriptor. Esto significa que la clase funciona con Visual Studio diseñadores de .NET en tiempo de diseño. Cuando los desarrolladores usan el diseñador para crear conjuntos de datos fuertemente tipados y conexiones fuertemente tipadas dentro de Visual Studio .NET, la clase generador de cadenas de conexión fuertemente tipadas mostrará las propiedades asociadas a su tipo y también tendrá convertidores que pueden asignar valores comunes para claves conocidas.

Los programadores que tengan que crear cadenas de conexión como parte de las aplicaciones pueden utilizar la clase OleDbConnectionStringBuilder para generarlas y modificarlas. La clase facilita también la administración de cadenas de conexión almacenadas en el archivo de configuración de una aplicación. OleDbConnectionStringBuilder realiza comprobaciones solo para el conjunto limitado de pares clave-valor conocidos. Por lo tanto, esta clase se puede usar para crear cadenas de conexión no válidas. En la tabla siguiente se enumeran las claves conocidas y sus propiedades correspondientes dentro de la OleDbConnectionStringBuilder clase y sus valores predeterminados. Además de estos valores específicos, los desarrolladores pueden agregar cualquier par clave-valor a la colección contenida en la OleDbConnectionStringBuilder instancia de :

Clave Propiedad Valor predeterminado
Nombre de archivo FileName ""
Proveedor Provider ""
Origen de datos DataSource ""
Persist Security Info PersistSecurityInfo Falso
Servicios OLE DB OleDbServices -13

La Item[] propiedad controla los intentos de insertar entradas malintencionadas. Por ejemplo, el código siguiente, con la propiedad predeterminada Item[] (el indexador, en C#) aplica un escape correcto al par clave-valor anidado:

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";

El resultado es la siguiente cadena de conexión que controla el valor no válido de una manera segura:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Sample.mdb;User ID="Admin;NewValue=Bad"

Constructores

OleDbConnectionStringBuilder()

Inicializa una nueva instancia de la clase OleDbConnectionStringBuilder.

OleDbConnectionStringBuilder(String)

Inicializa una nueva instancia de la clase OleDbConnectionStringBuilder. La cadena de conexión proporcionada facilita los datos para la información de conexión interna de la instancia.

Propiedades

BrowsableConnectionString

Obtiene o establece un valor que indica si la propiedad ConnectionString está visible en los diseñadores de Visual Studio.

(Heredado de DbConnectionStringBuilder)
ConnectionString

Obtiene o establece la cadena de conexión asociada con el DbConnectionStringBuilder.

(Heredado de DbConnectionStringBuilder)
Count

Obtiene el número actual de claves que están dentro de la propiedad ConnectionString.

(Heredado de DbConnectionStringBuilder)
DataSource

Obtiene o establece el nombre del origen de datos al que se va a conectar.

FileName

Obtiene o establece el nombre del archivo Universal Data Link (UDL) para conectar al origen de datos.

IsFixedSize

Obtiene un valor que indica si el objeto DbConnectionStringBuilder tiene un tamaño fijo.

(Heredado de DbConnectionStringBuilder)
IsReadOnly

Obtiene un valor que indica si DbConnectionStringBuilder es de solo lectura.

(Heredado de DbConnectionStringBuilder)
Item[String]

Obtiene o establece el valor asociado a la clave especificada. En C#, esta propiedad es el indizador.

Keys

Obtiene una ICollection que contiene las claves de OleDbConnectionStringBuilder.

OleDbServices

Obtiene o establece el valor que se va a pasar para la clave OLE DB Services en la cadena de conexión.

PersistSecurityInfo

Obtiene o establece un valor booleano que indica si la información de seguridad confidencial, como la contraseña, se devuelve como parte de la conexión si la conexión está abierta o alguna vez ha estado abierta.

Provider

Obtiene o establece una cadena que contiene el nombre del proveedor de datos asociado a la cadena de conexión interna.

Values

Obtiene un ICollection que contiene los valores de DbConnectionStringBuilder.

(Heredado de DbConnectionStringBuilder)

Métodos

Add(String, Object)

Agrega una entrada con la clave y el valor especificados a DbConnectionStringBuilder.

(Heredado de DbConnectionStringBuilder)
Clear()

Borra el contenido de la instancia de OleDbConnectionStringBuilder.

ClearPropertyDescriptors()

Borra la colección de objetos PropertyDescriptor del DbConnectionStringBuilder asociado.

(Heredado de DbConnectionStringBuilder)
ContainsKey(String)

Determina si OleDbConnectionStringBuilder contiene una clave específica.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
EquivalentTo(DbConnectionStringBuilder)

Compara la información de conexión de este objeto DbConnectionStringBuilder con la información de conexión del objeto especificado.

(Heredado de DbConnectionStringBuilder)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetProperties(Hashtable)

Rellena un Hashtable proporcionado con información sobre todas las propiedades de este DbConnectionStringBuilder.

(Heredado de DbConnectionStringBuilder)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Remove(String)

Quita la entrada con la clave especificada de la instancia de OleDbConnectionStringBuilder.

ShouldSerialize(String)

Indica si la clave especificada existe en esta instancia de DbConnectionStringBuilder.

(Heredado de DbConnectionStringBuilder)
ToString()

Devuelve la cadena de conexión asociada a este DbConnectionStringBuilder.

(Heredado de DbConnectionStringBuilder)
TryGetValue(String, Object)

Recupera un valor correspondiente a la clave proporcionada de la instancia de OleDbConnectionStringBuilder.

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

Copia los elementos de ICollection en Array, empezando por un índice determinado de Array.

(Heredado de DbConnectionStringBuilder)
ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a la interfaz ICollection está sincronizado (es seguro para subprocesos).

(Heredado de DbConnectionStringBuilder)
ICollection.SyncRoot

Obtiene un objeto que se puede usar para sincronizar el acceso a ICollection.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetAttributes()

Devuelve una colección de atributos personalizados para esta instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetClassName()

Devuelve el nombre de clase de esta instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetComponentName()

Devuelve los eventos para esta instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

Devuelve un convertidor de tipos para instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultEvent()

Devuelve el evento predeterminado para esta instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetDefaultProperty()

Devuelve la propiedad predeterminada para esta instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEditor(Type)

Devuelve un editor del tipo especificado para esta instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents()

Devuelve los eventos para esta instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetEvents(Attribute[])

Devuelve los eventos de esta instancia de un componente utilizando la matriz de atributos especificada como filtro.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

Devuelve las propiedades para esta instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties(Attribute[])

Devuelve las propiedades para esta instancia de un componente usando la matriz de atributos como filtro.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Devuelve un objeto que contiene la propiedad que describe el descriptor de propiedades especificado.

(Heredado de DbConnectionStringBuilder)
IDictionary.Add(Object, Object)

Agrega un elemento con la clave y el valor proporcionados al objeto IDictionary.

(Heredado de DbConnectionStringBuilder)
IDictionary.Contains(Object)

Determina si el objeto IDictionary contiene un elemento con la clave especificada.

(Heredado de DbConnectionStringBuilder)
IDictionary.GetEnumerator()

Devuelve un objeto IDictionaryEnumerator para el objeto IDictionary.

(Heredado de DbConnectionStringBuilder)
IDictionary.Item[Object]

Obtiene o establece el elemento con la clave especificada.

(Heredado de DbConnectionStringBuilder)
IDictionary.Remove(Object)

Quita el elemento con la clave especificada del objeto IDictionary.

(Heredado de DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

Devuelve un enumerador que recorre en iteración una colección.

(Heredado de DbConnectionStringBuilder)

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Consulte también