Compartir a través de


SqlConnectionStringBuilder Clase

Definición

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

public ref class SqlConnectionStringBuilder sealed : System::Data::Common::DbConnectionStringBuilder
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
[System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))]
public sealed class SqlConnectionStringBuilder : System.Data.Common.DbConnectionStringBuilder
type SqlConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
[<System.ComponentModel.TypeConverter(typeof(System.Data.SqlClient.SqlConnectionStringBuilder+SqlConnectionStringBuilderConverter))>]
type SqlConnectionStringBuilder = class
    inherit DbConnectionStringBuilder
Public NotInheritable Class SqlConnectionStringBuilder
Inherits DbConnectionStringBuilder
Herencia
SqlConnectionStringBuilder
Atributos

Ejemplos

La siguiente aplicación de consola compila cadenas de conexión para una base de datos de SQL Server. El código usa la clase SqlConnectionStringBuilder para crear la cadena de conexión. A continuación, en el ejemplo se analiza la cadena de conexión y se muestran varias formas de manipular el contenido.

// Create a new SqlConnectionStringBuilder and
// initialize it with a few name/value pairs.
SqlConnectionStringBuilder builder = new(
    "Server=(local);Integrated Security=true;" +
    "Initial Catalog=AdventureWorks"
    );

// The input connection string used the
// Server key, but the new connection string uses
// the well-known Data Source key instead.
Console.WriteLine($"Original connection string: '{builder.ConnectionString}'");

// Now that the connection string has been parsed,
// you can work with individual items.
Console.WriteLine($"Initial catalog: '{builder.InitialCatalog}'");
builder.InitialCatalog = "Northwind";
builder.AsynchronousProcessing = true;

// You can refer to connection keys using strings,
// as well. When you use this technique (the default
// Item property in Visual Basic, or the indexer in C#),
// you can specify any synonym for the connection string key name.
builder["Server"] = ".";
builder["Connect Timeout"] = 1000;
builder["Trusted_Connection"] = true;
Console.WriteLine($"Modified connection string: '{builder.ConnectionString}'");
Imports System.Data.SqlClient

Module Module1
    Sub Main()
        ' Create a new SqlConnectionStringBuilder and
        ' initialize it with a few name/value pairs:
        Dim builder As New SqlConnectionStringBuilder(
            "Server=(local);Integrated Security=true;" &
            "Initial Catalog=AdventureWorks"
            )

        ' The input connection string used the 
        ' Server key, but the new connection string uses
        ' the well-known Data Source key instead.
        Console.WriteLine("Original connection string: " + builder.ConnectionString)

        ' Now that the connection string has been parsed,
        ' you can work with individual items.
        Console.WriteLine("Initial catalog: " + builder.InitialCatalog)
        builder.InitialCatalog = "Northwind"
        builder.AsynchronousProcessing = True

        ' You can refer to connection keys using strings, 
        ' as well. When you use this technique (the default
        ' Item property in Visual Basic, or the indexer in C#)
        ' you can specify any synonym for the connection string key
        ' name.
        builder("Server") = "."
        builder("Connect Timeout") = 1000

        ' The Item property is the default for the class, 
        ' and setting the Item property adds the value to the 
        ' dictionary, if necessary. 
        builder.Item("Trusted_Connection") = True
        Console.WriteLine("Modified connection string: " + builder.ConnectionString)
    End Sub
End Module

Comentarios

El generador de cadenas de conexión permite a los desarrolladores crear mediante programación cadenas de conexión sintácticas correctas 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 SQL Server. Si necesita crear cadenas de conexión como parte de la aplicación, puede usar la clase SqlConnectionStringBuilder 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.

SqlConnectionStringBuilder realiza comprobaciones de pares clave-valor válidos. Por lo tanto, no puede usar esta clase para crear cadenas de conexión no válidas; si intenta agregar pares no válidos, se producirá una excepción. La clase mantiene una colección fija de sinónimos y puede traducirse de un sinónimo al nombre de clave conocido correspondiente.

Por ejemplo, al usar la propiedad Item para recuperar un valor, puede especificar una cadena que contenga cualquier sinónimo de la clave que necesite. Por ejemplo, puede especificar "Network Address", "addr" o cualquier otro sinónimo aceptable para esta clave dentro de una cadena de conexión cuando use cualquier miembro que requiera una cadena que contenga el nombre de clave, como la propiedad Item[String] o el método Remove. Consulte la propiedad ConnectionString para obtener una lista completa de sinónimos aceptables.

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

Dim builder As New System.Data.SqlClient.SqlConnectionStringBuilder
builder("Data Source") = "(local)"
builder("Integrated Security") = True
builder("Initial Catalog") = "AdventureWorks;NewValue=Bad"
Console.WriteLine(builder.ConnectionString)
System.Data.SqlClient.SqlConnectionStringBuilder builder =
  new System.Data.SqlClient.SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks;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:

Source=(local);Initial Catalog="AdventureWorks;NewValue=Bad";
Integrated Security=True

Constructores

SqlConnectionStringBuilder()

Inicializa una nueva instancia de la clase SqlConnectionStringBuilder.

SqlConnectionStringBuilder(String)

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

Propiedades

ApplicationIntent

Declara el tipo de carga de trabajo de aplicación al conectarse a una base de datos en un grupo de disponibilidad de SQL Server. Puede establecer el valor de esta propiedad con ApplicationIntent. Para obtener más información sobre la compatibilidad de SqlClient con grupos de disponibilidad AlwaysOn, consulte compatibilidad con SqlClient para alta disponibilidad, recuperación ante desastres.

ApplicationName

Obtiene o establece el nombre de la aplicación asociada a la cadena de conexión.

AsynchronousProcessing

Obtiene o establece un valor booleano que indica si la conexión creada mediante esta cadena de conexión permite el procesamiento asincrónico.

AttachDBFilename

Obtiene o establece una cadena que contiene el nombre del archivo de datos principal. Esto incluye el nombre de ruta de acceso completo de una base de datos adjuntable.

Authentication

Obtiene la autenticación de la cadena de conexión.

BrowsableConnectionString

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

(Heredado de DbConnectionStringBuilder)
ColumnEncryptionSetting

Obtiene o establece la configuración de cifrado de columnas para el generador de cadenas de conexión.

ConnectionReset
Obsoletos.

Obsoleto. Obtiene o establece un valor booleano que indica si la conexión se restablece cuando se extrae del grupo de conexiones.

ConnectionString

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

(Heredado de DbConnectionStringBuilder)
ConnectRetryCount

Número de reconexión que se intentó después de identificar que se produjo un error de conexión inactiva. Debe ser un entero entre 0 y 255. El valor predeterminado es 1. Establézcalo en 0 para deshabilitar la reconexión en los errores de conexión inactivos. Se producirá un ArgumentException si se establece en un valor fuera del intervalo permitido.

ConnectRetryInterval

Cantidad de tiempo (en segundos) entre cada intento de reconexión después de identificar que se produjo un error de conexión inactiva. Debe ser un entero entre 1 y 60. El valor predeterminado es 10 segundos. Se producirá un ArgumentException si se establece en un valor fuera del intervalo permitido.

ConnectTimeout

Obtiene o establece el período de tiempo (en segundos) para esperar una conexión al servidor antes de finalizar el intento y generar un error.

ContextConnection

Obtiene o establece un valor que indica si se debe realizar una conexión de cliente o servidor en proceso a SQL Server.

Count

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

(Heredado de DbConnectionStringBuilder)
CurrentLanguage

Obtiene o establece el nombre del registro de lenguaje de SQL Server.

DataSource

Obtiene o establece el nombre o la dirección de red de la instancia de SQL Server a la que se va a conectar.

EnclaveAttestationUrl

Obtiene o establece la dirección URL de atestación del enclave que se va a usar con Always Encrypted basado en enclave.

Encrypt

Obtiene o establece un valor booleano que indica si SQL Server usa el cifrado SSL para todos los datos enviados entre el cliente y el servidor si el servidor tiene instalado un certificado.

Enlist

Obtiene o establece un valor booleano que indica si el agrupador de conexiones de SQL Server incluye automáticamente la conexión en el contexto de transacción actual del subproceso de creación.

FailoverPartner

Obtiene o establece el nombre o la dirección del servidor asociado al que se va a conectar si el servidor principal está inactivo.

InitialCatalog

Obtiene o establece el nombre de la base de datos asociada a la conexión.

IntegratedSecurity

Obtiene o establece un valor booleano que indica si el identificador de usuario y la contraseña se especifican en la conexión (cuando false) o si las credenciales actuales de la cuenta de Windows se usan para la autenticación (cuando true).

IsFixedSize

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

IsFixedSize

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

(Heredado de DbConnectionStringBuilder)
IsReadOnly

Obtiene un valor que indica si el 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 indexador.

Keys

Obtiene un ICollection que contiene las claves del SqlConnectionStringBuilder.

LoadBalanceTimeout

Obtiene o establece el tiempo mínimo, en segundos, para que la conexión resida en el grupo de conexiones antes de destruirse.

MaxPoolSize

Obtiene o establece el número máximo de conexiones permitidas en el grupo de conexiones para esta cadena de conexión específica.

MinPoolSize

Obtiene o establece el número mínimo de conexiones permitidas en el grupo de conexiones para esta cadena de conexión específica.

MultipleActiveResultSets

Cuando es true, una aplicación puede mantener varios conjuntos de resultados activos (MARS). Cuando es false, una aplicación debe procesar o cancelar todos los conjuntos de resultados de un lote antes de poder ejecutar cualquier otro lote en esa conexión.

Para obtener más información, consulte conjuntos de resultados activos múltiples (MARS).

MultiSubnetFailover

Si la aplicación se conecta a un grupo de disponibilidad AlwaysOn (AG) o a una instancia de clúster de conmutación por error (FCI) AlwaysOn en diferentes subredes, el establecimiento de MultiSubnetFailover=true proporciona una detección más rápida de y la conexión con el servidor activo (actualmente). Para obtener más información sobre la compatibilidad de SqlClient con las características de AlwaysOn, consulte compatibilidad con SqlClient para alta disponibilidad, recuperación ante desastres.

NetworkLibrary

Obtiene o establece una cadena que contiene el nombre de la biblioteca de red utilizada para establecer una conexión con SQL Server.

PacketSize

Obtiene o establece el tamaño en bytes de los paquetes de red usados para comunicarse con una instancia de SQL Server.

Password

Obtiene o establece la contraseña de la cuenta de SQL Server.

PersistSecurityInfo

Obtiene o establece un valor que indica si la información confidencial de seguridad, como la contraseña o el token de acceso, se debe devolver como parte de la cadena de conexión en una conexión creada con este SqlConnectionStringBuilder después de que esa conexión haya estado en un estado abierto.

PoolBlockingPeriod

Comportamiento del período de bloqueo de un grupo de conexiones.

Pooling

Obtiene o establece un valor booleano que indica si la conexión se agrupará o se abrirá explícitamente cada vez que se solicite la conexión.

Replication

Obtiene o establece un valor booleano que indica si se admite la replicación mediante la conexión.

TransactionBinding

Obtiene o establece un valor de cadena que indica cómo la conexión mantiene su asociación con una transacción de System.Transactions incluida.

TransparentNetworkIPResolution

Cuando el valor de esta clave se establece en true, la aplicación es necesaria para recuperar todas las direcciones IP de una entrada DNS determinada e intentar conectarse con la primera de la lista. Si la conexión no se establece en un plazo de 0,5 segundos, la aplicación intentará conectarse a todos los demás en paralelo. Cuando la primera respuesta responda, la aplicación establecerá la conexión con la dirección IP del encuestado.

TrustServerCertificate

Obtiene o establece un valor que indica si el canal se cifrará mientras se pasa el recorrido de la cadena de certificados para validar la confianza.

TypeSystemVersion

Obtiene o establece un valor de cadena que indica el sistema de tipos que espera la aplicación.

UserID

Obtiene o establece el identificador de usuario que se va a usar al conectarse a SQL Server.

UserInstance

Obtiene o establece un valor que indica si se va a redirigir la conexión desde la instancia predeterminada de SQL Server Express a una instancia iniciada por el entorno de ejecución que se ejecuta en la cuenta del autor de la llamada.

Values

Obtiene un ICollection que contiene los valores de la SqlConnectionStringBuilder.

WorkstationID

Obtiene o establece el nombre de la estación de trabajo que se conecta a SQL Server.

Métodos

Add(String, Object)

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

(Heredado de DbConnectionStringBuilder)
Clear()

Borra el contenido de la instancia de SqlConnectionStringBuilder.

ClearPropertyDescriptors()

Borra la colección de objetos PropertyDescriptor en el DbConnectionStringBuilderasociado.

(Heredado de DbConnectionStringBuilder)
ContainsKey(String)

Determina si el SqlConnectionStringBuilder contiene 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 objeto DbConnectionStringBuilder 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 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 Objectactual.

(Heredado de Object)
Remove(String)

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

ShouldSerialize(String)

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

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 SqlConnectionStringBuilder.

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

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

(Heredado de DbConnectionStringBuilder)
ICollection.IsSynchronized

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

(Heredado de DbConnectionStringBuilder)
ICollection.SyncRoot

Obtiene un objeto que se puede usar para sincronizar el acceso a la 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 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.IsFixedSize

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

(Heredado de DbConnectionStringBuilder)
IDictionary.IsReadOnly

Obtiene un valor que indica si el IDictionary es de solo lectura.

(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 un IEnumerable al tipo especificado.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte un IEnumerable en un IQueryable.

Se aplica a

Consulte también

  • de cadenas de conexión (ADO.NET) de
  • información general de ADO.NET