Esta documentación está archivada y no tiene mantenimiento.

OleDbConnectionStringBuilder (Clase)

Nota: esta clase es nueva en la versión 2.0 de .NET Framework.

Proporciona una manera simple de crear y administrar el contenido de las cadenas de conexión que utiliza la clase OleDbConnection.

Espacio de nombres: System.Data.OleDb
Ensamblado: System.Data (en system.data.dll)

public sealed class OleDbConnectionStringBuilder : DbConnectionStringBuilder
public final class OleDbConnectionStringBuilder extends DbConnectionStringBuilder
public final class OleDbConnectionStringBuilder extends DbConnectionStringBuilder

Los generadores de cadenas de conexión permiten a los desarrolladores crear mediante programación cadenas de conexión sintácticamente correctas, además de analizar y volver a generar las cadenas de conexión existentes, utilizando las propiedades y los métodos de la clase. El generador de cadenas de conexión proporciona propiedades con establecimiento inflexible de tipos que corresponden a los pares de clave/valor conocidos que permiten las conexiones OLE DB, y los desarrolladores pueden agregar pares de 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 los diseñadores de Visual Studio .NET en tiempo de diseño. Cuando los desarrolladores utilizan el diseñador para generar conjuntos de datos y conexiones con establecimiento inflexible de tipos en Visual Studio .NET, la clase de generación de cadenas de conexión con establecimiento inflexible de tipos mostrará las propiedades asociadas a su tipo y también tendrá convertidores que puedan asignar valores comunes para las claves conocidas.

Los desarrolladores que necesitan crear cadenas de conexión como parte de las aplicaciones pueden utilizar la clase OleDbConnectionStringBuilder para generar y modificar las cadenas de conexión. La clase también facilita la administración de las cadenas de conexión almacenadas en un archivo de configuración de la aplicación. OleDbConnectionStringBuilder realiza sólo comprobaciones para el conjunto limitado de pares de clave/valor conocidos. Por lo tanto, esta clase puede utilizarse para crear cadenas de conexión no válidas. La tabla siguiente muestra las claves conocidas y sus propiedades correspondientes en la clase OleDbConnectionStringBuilder, así como sus valores predeterminados. Además de estos valores específicos, los desarrolladores pueden agregar cualquier par clave/valor a la colección que contiene la instancia de OleDbConnectionStringBuilder.

Clave

Propiedad

Valor predeterminado

FileName

FileName

""

Provider

Provider

""

Data Source

DataSource

""

Persist Security Info

PersistSecurityInfo

False

OLE DB Services

OleDbServices

-13

La propiedad Item controla los intentos de insertar entradas malintencionadas. Por ejemplo, si se utiliza correctamente la propiedad Item predeterminada (el indizador, en C#), el siguiente código escapa del 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 forma segura:

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

La siguiente aplicación de consola genera 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 se analiza también una cadena de conexión existente y se muestran las distintas maneras de manipular el contenido de la cadena de conexión.

NotaNota

Este ejemplo incluye una contraseña para mostrar cómo trabaja OleDbConnectionStringBuilder con las cadenas de conexión. Para sus aplicaciones, le recomendamos que utilice la autenticación de Windows. Si debe utilizar una contraseña, no la incluya dentro del código de la aplicación.

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();
    }
}

System.Object
   System.Data.Common.DbConnectionStringBuilder
    System.Data.OleDb.OleDbConnectionStringBuilder

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0
Mostrar: