Compartir vía


Cadenas de conexión en ADO.NET

Se aplica a: .NET Framework .NET .NET Standard

Descargar ADO.NET

Una cadena de conexión contiene información de inicialización que se transfiere como un parámetro desde un proveedor de datos a un origen de datos. El proveedor de datos recibe la cadena de conexión como el valor de la propiedad DbConnection.ConnectionString. El proveedor analiza la cadena de conexión y garantiza que la sintaxis es correcta y que se admiten las palabras clave. A continuación, el método DbConnection.Open() pasa los parámetros de conexión analizados al origen de datos. El origen de datos realiza una validación adicional y establece una conexión.

Sintaxis de cadenas de conexión

Una cadena de conexión es una lista de pares de parámetros de clave y valor delimitados por punto y coma:

keyword1=value; keyword2=value;

En las palabras clave no se distingue entre mayúsculas y minúsculas. Sin embargo, los valores pueden distinguir entre mayúsculas y minúsculas, según el origen de datos. Las palabras clave y los valores pueden contener caracteres de espacio en blanco. Los espacios en blanco iniciales y finales se omiten en las palabras clave y los valores sin comillas.

Si un valor contiene un punto y coma, caracteres de control Unicode o un espacio en blanco inicial o final, debe incluirse entre comillas simples o dobles. Por ejemplo:

Keyword=" whitespace  ";
Keyword='special;character';

Es posible que el carácter envolvente no se encuentre dentro del valor que contiene. Por lo tanto, un valor que contenga comillas simples solo se puede incluir entre comillas dobles y viceversa:

Keyword='double"quotation;mark';
Keyword="single'quotation;mark";

También puede aplicar el escape al carácter envolvente utilizando dos de ellos juntos:

Keyword="double""quotation";
Keyword='single''quotation';

Las comillas, así como el signo igual, no requieren caracteres de escape, por lo que las siguientes cadenas de conexión son válidas:

Keyword=no "escaping" 'required';
Keyword=a=b=c

Puesto que cada valor se lee hasta el punto y coma siguiente o hasta el final de la cadena, el valor del último ejemplo es a=b=c y el punto y coma final es opcional.

Todas las cadenas de conexión comparten la misma sintaxis básica que se ha descrito anteriormente. El conjunto de palabras clave reconocidas depende del proveedor. El proveedor de datos SqlClient de Microsoft para SQL Server admite muchas palabras clave de API anteriores, pero suele ser más flexible y acepta sinónimos para muchas de las palabras clave de cadena de conexión comunes.

Los errores tipográficos pueden producir errores. Por ejemplo, Integrated Security=true es válido, pero IntegratedSecurity=true provoca un error.

Las cadenas de conexión construidas manualmente en el entorno de ejecución desde la entrada de usuario no validada son vulnerables a ataques de inyección de cadenas y ponen en peligro la seguridad en el origen de datos. Para solucionar estos problemas, se ha creado la clase SqlConnectionStringBuilder. Este generador de cadenas de conexión expone los parámetros como propiedades con establecimiento inflexible de tipos y permite validar la cadena de conexión antes de enviarla al origen de datos.

En esta sección

Generador de cadenas de conexión
Muestra cómo usar la clase ConnectionStringBuilder para construir cadenas de conexión válidas en el entorno de ejecución.

Cadenas de conexión y archivos de configuración
Muestra cómo almacenar y recuperar cadenas de conexión en archivos de configuración.

Sintaxis de la cadena de conexión
Describe cómo configurar cadenas de conexión específicas del proveedor para SqlClient.

Proteger la información de conexión
Muestra técnicas de protección de la información utilizada para conectarse a un origen de datos.

Consulte también