OdbcConnectionStringBuilder Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una manera simple de crear y administrar el contenido de las cadenas de conexión que utiliza la clase 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
- Herencia
- 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 un cadena de conexión para una base de datos de Microsoft Access. A continuación, crea un cadena de conexión para una base de datos IBM DB2. En el ejemplo también se analiza un cadena de conexión existente y se muestran varias formas de manipular el contenido del cadena de conexión.
Nota
Este ejempo incluye una contraseña para demostrar cómo OdbcConnectionStringBuilder 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.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
Comentarios
Los generadores de cadena de conexión permiten a los desarrolladores crear mediante programación cadenas de conexión sintácticas y analizar y recompilar cadenas de conexión existentes mediante propiedades y métodos de la clase . El generador de cadena 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 de clave-valor arbitrarios para cualquier otro valor de cadena de conexión.
Los programadores que tengan que crear cadenas de conexión como parte de las aplicaciones pueden utilizar la clase OdbcConnectionStringBuilder 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. 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.
Clave | 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) del cadena de conexión contiene un punto y coma (;), rodea OdbcConnectionStringBuilder el valor con comillas en el 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 por usted.
La Item[] propiedad controla los intentos de insertar código malintencionado. Por ejemplo, el código siguiente, con la propiedad predeterminada Item[] (el indexador, en C#) escapa correctamente del 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 una manera segura:
Driver={SQL Server};Server="MyServer;NewValue=Bad"
Constructores
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 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) |
Driver |
Obtiene o establece el nombre del controlador ODBC asociado a la conexión. |
Dsn |
Obtiene o establece el nombre de origen de datos (DSN) asociado a la conexión. |
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 OdbcConnectionStringBuilder. |
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 OdbcConnectionStringBuilder. |
ClearPropertyDescriptors() |
Borra la colección de objetos PropertyDescriptor del DbConnectionStringBuilder asociado. (Heredado de DbConnectionStringBuilder) |
ContainsKey(String) |
Determina si OdbcConnectionStringBuilder 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 OdbcConnectionStringBuilder. |
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 que corresponde a la clave proporcionada por este OdbcConnectionStringBuilder. |
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. |