Compartir por


OdbcConnectionStringBuilder Clase

Definición

Proporciona una manera sencilla de crear y administrar el contenido de las cadenas de conexión usadas por la OdbcConnection clase .

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
Herencia
OdbcConnectionStringBuilder
Atributos

Ejemplos

La siguiente aplicación de consola compila cadenas de conexión para varias bases de datos ODBC. En primer lugar, en el ejemplo se crea una cadena de conexión para una base de datos de Microsoft Access. A continuación, 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.

using System.Data.Odbc;

class Program
{
    static void Main()
    {
        OdbcConnectionStringBuilder builder = new()
            {
                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");

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

        Console.WriteLine($"protocol = {builder["protocol"].ToString()}");
        Console.WriteLine();

        // 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);
    }
}
Imports System.Data.Odbc

Module Module1
    Sub Main()
        Dim builder As New OdbcConnectionStringBuilder With {
            .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")

        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"

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

        ' 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

Comentarios

Los generadores de cadenas de conexión permiten a los desarrolladores crear mediante programación cadenas de conexión correctas sintácticamente y analizar y recompilar las cadenas de conexión existentes mediante propiedades y 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 ODBC, y los desarrolladores pueden agregar pares clave-valor arbitrarios para cualquier otro valor de cadena de conexión.

Los desarrolladores que necesitan crear cadenas de conexión como parte de las aplicaciones pueden usar la OdbcConnectionStringBuilder clase para compilar y modificar cadenas de conexión. La clase también facilita la administración de cadenas de conexión almacenadas en un archivo de configuración de aplicación. OdbcConnectionStringBuilder 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 específicas junto con sus propiedades correspondientes dentro de la OdbcConnectionStringBuilder 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 OdbcConnectionStringBuilder instancia.

Key Propiedad Comentario Valor predeterminado
Controlador Driver Los desarrolladores no deben incluir las llaves que rodean el nombre del controlador cuando establecen la Driver propiedad . La OdbcConnectionStringBuilder instancia agrega llaves según sea necesario. Cadena vacía
DSN Dsn Cadena vacía

Si algún valor (distinto del Driver valor) de la cadena de conexión contiene un punto y coma (;), OdbcConnectionStringBuilder rodea el valor con comillas en la cadena de conexión. Para evitar este problema con el Driver valor que contiene con frecuencia un punto y coma, la OdbcConnectionStringBuilder clase siempre rodea este valor con llaves. La especificación ODBC indica que los valores de controlador que contienen punto y coma deben estar rodeados de llaves y esta clase lo controla.

La Item[] propiedad controla los intentos de insertar código malintencionado. Por ejemplo, el código siguiente, con la propiedad predeterminada Item[] (el indizador, en C#) escapa correctamente al par clave-valor anidado.

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

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

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

Constructores

Nombre Description
OdbcConnectionStringBuilder()

Inicializa una nueva instancia de la clase OdbcConnectionStringBuilder.

OdbcConnectionStringBuilder(String)

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

Propiedades

Nombre Description
BrowsableConnectionString

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

(Heredado de DbConnectionStringBuilder)
ConnectionString

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

(Heredado de DbConnectionStringBuilder)
Count

Obtiene el número actual de claves contenidas en la ConnectionString propiedad .

(Heredado de DbConnectionStringBuilder)
Driver

Obtiene o establece el nombre del controlador ODBC asociado a la conexión.

Dsn

Obtiene o establece el nombre del nombre del origen de datos (DSN) asociado a la conexión.

IsFixedSize

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

(Heredado de DbConnectionStringBuilder)
IsReadOnly

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

(Heredado de DbConnectionStringBuilder)
Item[String]

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

Keys

Obtiene un ICollection objeto que contiene las claves de .OdbcConnectionStringBuilder

Values

Obtiene un ICollection objeto que contiene los valores de .DbConnectionStringBuilder

(Heredado de DbConnectionStringBuilder)

Métodos

Nombre Description
Add(String, Object)

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

(Heredado de DbConnectionStringBuilder)
Clear()

Borra el contenido de la OdbcConnectionStringBuilder instancia.

ClearPropertyDescriptors()

Borra la colección de PropertyDescriptor objetos en el objeto asociado DbConnectionStringBuilder.

(Heredado de DbConnectionStringBuilder)
ContainsKey(String)

Determina si contiene OdbcConnectionStringBuilder una clave específica.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
EquivalentTo(DbConnectionStringBuilder)

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

(Heredado de DbConnectionStringBuilder)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetProperties(Hashtable)

Rellena un proporcionado Hashtable 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 Objectactual.

(Heredado de Object)
Remove(String)

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

ShouldSerialize(String)

Indica si la clave especificada existe en esta DbConnectionStringBuilder instancia.

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

Implementaciones de interfaz explícitas

Nombre Description
ICollection.CopyTo(Array, Int32)

Copia los elementos de en ICollection un Arrayobjeto , comenzando en un índice determinado Array .

(Heredado de DbConnectionStringBuilder)
ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a ICollection está sincronizado (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 el nombre de esta instancia de un componente.

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetConverter()

Devuelve un convertidor de tipos para esta 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 de esta instancia de un componente.

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

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

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetProperties()

Devuelve las propiedades de esta instancia de un componente.

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

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

(Heredado de DbConnectionStringBuilder)
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor)

Devuelve un objeto que contiene la propiedad descrita por el descriptor de propiedad especificado.

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

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

(Heredado de DbConnectionStringBuilder)
IDictionary.Contains(Object)

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

(Heredado de DbConnectionStringBuilder)
IDictionary.GetEnumerator()

Devuelve un IDictionaryEnumerator objeto para el IDictionary objeto .

(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 IDictionary objeto .

(Heredado de DbConnectionStringBuilder)
IEnumerable.GetEnumerator()

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

(Heredado de DbConnectionStringBuilder)

Métodos de extensión

Nombre Description
AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte un IEnumerable en un IQueryable.

Cast<TResult>(IEnumerable)

Convierte los elementos de un IEnumerable al tipo especificado.

OfType<TResult>(IEnumerable)

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

Se aplica a

Consulte también