Compartir a través de


Guardar y editar cadenas de conexión de base de datos para aplicaciones .NET Framework

Nota:

Los conjuntos de datos y las clases relacionadas son tecnologías heredadas de .NET Framework de principios de la década de 2000 que permiten a las aplicaciones trabajar con datos en memoria mientras están desconectadas de la base de datos. Las tecnologías son especialmente útiles para las aplicaciones que permiten a los usuarios modificar los datos y conservar los cambios en la base de datos. Aunque los conjuntos de datos han demostrado ser una tecnología de gran éxito, se recomienda que las nuevas aplicaciones de .NET usen Entity Framework Core. Entity Framework proporciona una manera más natural de trabajar con datos tabulares como modelos de objetos y tiene una interfaz de programación más sencilla.

Nota

En este artículo se proporcionan instrucciones para controlar las cadenas de conexión en las aplicaciones de Windows; para aplicaciones web y en la nube, hay técnicas más seguras disponibles. Puede usar Servicios conectados para agregar compatibilidad con Secrets.json para el desarrollo local y, a continuación, migrar a Azure Key Vault para el almacenamiento de secretos al implementar en Azure. Consulte Protección de secretos durante el desarrollo.

El control correcto de la cadena de conexión en una aplicación de Visual Studio requiere cuidado para evitar la presentación de riesgos de seguridad. Las cadenas de conexión en las aplicaciones de Visual Studio se guardan a menudo en el archivo de configuración de la aplicación (conocido también como configuración de la aplicación) o codificadas de forma rígida directamente en la aplicación. No se recomienda codificar de forma rígida directamente en la aplicación, ya que la información confidencial de la cadena de conexión, como las credenciales de la base de datos, se puede leer directamente desde los archivos binarios sin cifrar. Si guarda las cadenas de conexión en el archivo de configuración de la aplicación, se simplifica la tarea de mantenimiento de la aplicación. Si la cadena de conexión debe modificarse, se puede actualizar en el archivo de configuración de la aplicación (cosa que no sucede si hubiera que cambiarla en el código fuente y tener que recompilar la aplicación).

Almacenar información confidencial (como la contraseña) en la cadena de conexión puede afectar la seguridad de la aplicación. Las cadenas de conexión almacenadas en el archivo de configuración de la aplicación no están ni cifradas ni protegidas, con lo cual existe la posibilidad de que alguien acceda al archivo y vea el contenido.

Para las bases de datos que lo admiten, el uso de la seguridad integrada de Windows es una forma más segura de controlar el acceso a una base de datos.

Si decide no usar la seguridad integrada de Windows y su base de datos requiere un nombre de usuario y una contraseña, estos se pueden omitir en la cadena de conexión, pero la aplicación tendrá que suministrar esta información para poder conectarse a la base de datos. Así, por ejemplo, puede crear un cuadro de diálogo que pida esta información al usuario y que cree la cadena de conexión dinámicamente en tiempo de ejecución. La seguridad puede seguir siendo un problema si alguien intercepta esa información en su recorrido a la base de datos.

Para más información, consulte Proteger la información de conexión.

Para guardar una cadena de conexión desde el Asistente para configuración del origen de datos

En el Asistente para configuración del origen de datos, seleccione la opción para guardar la conexión en la página Guardar la cadena de conexión en el Archivo de configuración de la aplicación.

Para guardar la cadena de conexión directamente en la configuración de la aplicación

  1. En el Explorador de soluciones, haga doble clic en el icono Mi proyecto (Visual Basic) o en el icono Propiedades (C#) para abrir el Diseñador de proyectos.
  2. Seleccione la pestaña Configuración.
  3. Escriba un Nombre para la cadena de conexión. Haga referencia a este nombre cuando acceda a la cadena de conexión en el código.
  4. Establezca el Tipo en (Cadena de conexión).
  5. Deje el Ámbito establecido en Aplicación.
  6. Escriba la cadena de conexión en el campo Valor o haga clic en el botón de puntos suspensivos (...) del campo Valor para abrir el cuadro de diálogo Propiedades de conexión para compilar la cadena de conexión.

Edición de cadenas de conexión almacenadas en la configuración de la aplicación

La información de conexión almacenada en la configuración de la aplicación se puede modificar con el Diseñador de proyectos.

Para modificar una cadena de conexión almacenada en la configuración de la aplicación

  1. En el Explorador de soluciones, haga doble clic en el icono Mi proyecto (Visual Basic) o en el icono Propiedades (C#) para abrir el Diseñador de proyectos.
  2. Seleccione la pestaña Configuración.
  3. Busque la conexión que quiera modificar y seleccione el texto en el campo Valor.
  4. Edite la cadena de conexión en el campo Valor o haga clic en el botón de puntos suspensivos (...) del campo Valor para editar la conexión con el cuadro de diálogo Propiedades de conexión.

Edición de cadenas de conexión para conjuntos de datos

Puede modificar la información de conexión de cada TableAdapter de un conjunto de datos.

Para editar una cadena de conexión para un TableAdapter en un conjunto de datos

  1. En el Explorador de soluciones, haga doble clic en el conjunto de datos (archivo .xsd) con la conexión que quiera cambiar.
  2. Seleccione el TableAdapter o la consulta que tenga la conexión que quiera modificar.
  3. En la ventana Propiedades, expanda el Nodo de conexión.
  4. Para modificar rápidamente la cadena de conexión, edite la propiedad ConnectionString o haga clic en la flecha abajo de la propiedad Conexión y elija Nueva conexión.

Seguridad

Almacenar información confidencial (como una contraseña) en la cadena de conexión puede afectar la seguridad de la aplicación. El uso de la seguridad integrada de Windows es una forma más segura de controlar el acceso a una base de datos. Para más información, consulte Proteger la información de conexión.