Conectar a una base de datos en Visual Studio

Con los pasos de este artículo se explica cómo conectarse a un origen de datos en el IDE de Visual Studio. El origen de datos puede ser una base de datos local, un servicio de datos en línea o una base de datos abierta desde un archivo .mdf. Puede trabajar directamente con los datos en Visual Studio. Puede ejecutar consultas, editar datos, crear y editar tablas y otras propiedades de esquema, editar procedimientos almacenados y funciones, desencadenadores, etc. Estas funciones son independientes del lenguaje de programación o la versión de .NET que está usando.

Explorador de servidores y Explorador de objetos de SQL Server

Puede abrir una conexión a una base de datos o servicio y a una base de datos LocalDB abierta desde un archivo .mdf, así como ver y editar tablas y filas de datos, con el Explorador de servidores o con el Explorador de objetos de SQL Server. La funcionalidad de estas ventanas se superpone en cierta medida. Las diferencias básicas son:

  • Explorador de servidores

    Instalado de forma predeterminada en Visual Studio. Se puede usar para probar las conexiones y ver bases de datos de SQL Server, cualquier otra base de datos que tenga instalado un proveedor de ADO.NET y algunos servicios de Azure. También muestra objetos de bajo nivel, como contadores de rendimiento del sistema, registros de eventos y colas de mensajes. Si un origen de datos no tiene ningún proveedor de ADO.NET, no se mostrará aquí, pero todavía puede usarlo desde Visual Studio mediante programación.

  • Cloud Explorer

    Instale esta ventana manualmente como una extensión de Visual Studio desde Visual Studio Marketplace. Proporciona funcionalidad especializada para explorar y conectarse a servicios de Azure.

  • Explorador de objetos de SQL Server

    Está instalado con SQL Server Data Tools y visible en el menú Ver. Si no lo ve allí, vaya a Programas y características en el Panel de control, busque Visual Studio y seleccione Cambiar para volver a ejecutar el instalador después de seleccionar la casilla de SQL Server Data Tools. Use el Explorador de objetos de SQL Server para ver las bases de datos SQL (si tienen un proveedor de ADO.NET), crear nuevas bases de datos, modificar esquemas, crear procedimientos almacenados, recuperar cadenas de conexión, ver los datos, etc. Las bases de datos SQL que no tienen instalado ADO.NET proveedor no se mostrarán aquí, pero todavía puede conectarse a ellas mediante programación.

Puede abrir una conexión a una base de datos o servicio o a una base de datos LocalDB abierta desde un archivo .mdf, así como ver y editar tablas y filas de datos, con el Explorador de servidores o con el Explorador de objetos de SQL Server. La funcionalidad de estas ventanas se superpone en cierta medida. Las diferencias básicas son:

  • Explorador de servidores

    Instalado de forma predeterminada en Visual Studio. Se puede usar para probar las conexiones y ver bases de datos de SQL Server, cualquier otra base de datos que tenga instalado un proveedor de ADO.NET y algunos servicios de Azure. También muestra objetos de bajo nivel, como contadores de rendimiento del sistema, registros de eventos y colas de mensajes. Si un origen de datos no tiene ningún proveedor de ADO.NET, no se mostrará aquí, pero todavía puede usarlo desde Visual Studio mediante programación.

  • Explorador de objetos de SQL Server

    Está instalado con SQL Server Data Tools y visible en el menú Ver. Si no lo ve allí, vaya a Programas y características en el Panel de control, busque Visual Studio y seleccione Cambiar para volver a ejecutar el instalador después de seleccionar la casilla de SQL Server Data Tools. Use el Explorador de objetos de SQL Server para ver las bases de datos SQL (si tienen un proveedor de ADO.NET), crear nuevas bases de datos, modificar esquemas, crear procedimientos almacenados, recuperar cadenas de conexión, ver los datos, etc. Las bases de datos SQL que no tienen instalado ADO.NET proveedor no se mostrarán aquí, pero todavía puede conectarse a ellas mediante programación.

Adición de una conexión en el Explorador de servidores

Para crear una conexión a la base de datos, haga clic en el icono Conectar con base de datos del Explorador de servidores o haga clic con el botón derecho en el Explorador de servidores en el nodo Conexiones de datos y seleccione Agregar conexión. Desde aquí, puede abrir una conexión a una base de datos LocalDB abierta desde un archivo .mdf, conectarse a una base de datos que está en otro servidor, a un servicio de SharePoint o a un servicio de Azure.

Captura de pantalla que muestra el icono Nueva conexión del Explorador de servidores

Captura de pantalla que muestra el icono Conectar con la base de datos del Explorador de servidores

Se abrirá el cuadro de diálogo Agregar conexión. Aquí, hemos escrito el nombre de la instancia de SQL Server LocalDB, (localdb)\MSSqlLocalDB, que normalmente se instala con Visual Studio.

Si no tiene acceso a otra base de datos y no ve LocalDB instalado, puede hacerlo mediante el Instalador de Visual Studio, como parte de la carga de trabajo Almacenamiento y procesamiento de datos, la carga de trabajo de Desarrollo web y ASP.NET o como un componente individual. Vea Modificación de Visual Studio.

Captura de pantalla del cuadro de diálogo Agregar nueva conexión

Captura de pantalla del cuadro de diálogo Agregar nueva conexión

En La versión 17.8 y posteriores de Visual Studio 2022, el cuadro de diálogo incluye dos nuevas opciones (Cifrar y confiar en el certificado de servidor) que entran en la cadena de conexión y afectan a la configuración de seguridad que se usa para la conexión. Estas opciones admiten las características de seguridad más estrictas del controlador de base de datos Microsoft.Data.SqlClient 4.0. Consulte Cambios en el comportamiento de cifrado y validación de certificados.

La práctica de seguridad recomendada es usar el cifrado e instalar un certificado en el servidor para él. Consulte Cifrado y validación de certificados. Para no participar en esta seguridad mejorada, establezca Cifrar en opcional (False).

Si no establece Cifrar en opcional con Visual Studio 17.8 o posterior, que usa la versión 4.0 de Microsoft.Data.SqlClient, el cifrado será obligatorio de manera predeterminada. Se trata de un cambio importante del comportamiento en versiones anteriores. Si no tiene un certificado válido o no elige Certificado de servidor de confianza, recibirá el siguiente mensaje de error:

El cifrado se ha habilitado en esta conexión, revise la configuración de SSL y certificado para el servidor SQL Server de destino o habilite "Confiar en el certificado de servidor" en el cuadro de diálogo de conexión.

Información adicional

Se estableció correctamente una conexión con el servidor, pero luego se produjo un error durante el proceso de inicio de sesión. (proveedor: Proveedor SSL, error: 0 - La cadena de certificados fue emitida por una autoridad que no es de confianza.) (Microsoft SQL Server)

Tipos de autenticación

Puede elegir entre una variedad de tipos de autenticación que abarcan una amplia gama de escenarios. Para obtener más información, consulte Tipos de autenticación.

En Visual Studio 17.8 y versiones posteriores, los nombres de las opciones de autenticación para las conexiones SQL se han actualizado para reflejar el cambio de nombre de Active Directory a Microsoft Entra.

Captura de pantalla que muestra los tipos de autenticación para Visual Studio 17.8 y versiones posteriores.

Abrir un archivo de base de datos MDF

La extensión de archivo .mdf viene del inglés Master Database File (archivo de base de datos maestra), y denota una base de datos SQL que está empaquetada en un archivo. Estos archivos tienen asociado un archivo .ldf (archivo de base de datos de registro) que contiene los registros de esa base de datos. Para crear bases de datos almacenadas en archivos .mdf, agregue al proyecto un elemento Base de datos basada en servicio. Vea Creación de una tabla de base de datos y agregar datos a la tabla.

Si ya tiene un archivo .mdf en el proyecto, puede hacer doble clic o hacer clic con el botón derecho en él y seleccionar Abrir para abrirlo en el Explorador de servidores.

Haga lo siguiente para abrir un archivo .mdf que no esté en el proyecto en el Explorador de servidores de Visual Studio:

  1. En el cuadro de diálogo Agregar conexión, en Origen de datos, seleccione Archivo de base de datos de Microsoft SQL Server (SqlClient).

  2. Use el botón Examinar para localizar y seleccionar el archivo de base de datos maestra (archivo .mdf) o escriba la ruta de acceso en el cuadro Nombre del archivo de base de datos.

    Captura de pantalla de un cuadro de diálogo Agregar conexión con una conexión a un archivo de base de datos de SQL

  3. Elija el método de autenticación.

  4. Pruebe la conexión y, si se realiza correctamente, seleccione Aceptar. Se abre un nodo de la base de datos en el Explorador de servidores.

Cambio del proveedor

Si el origen de datos no es el que quiere, haga clic en el botón Cambiar para elegir un nuevo origen de datos o un nuevo proveedor de datos ADO.NET. El nuevo proveedor puede solicitar sus credenciales, en función de cómo la haya configurado.

Nota:

Si usa Visual Studio 2022 para conectarse a proveedores de datos OLEDB o ODBC, deberá tener en cuenta que Visual Studio 2022 es ahora un proceso de 64 bits.

Esto significa que algunas de las herramientas de datos de Visual Studio no podrán conectarse a las bases de datos OLEDB u ODBC mediante proveedores de datos de 32 bits. Esto incluye el proveedor de datos OLEDB de 32 bits de Microsoft Access, así como otros proveedores de 32 bits de terceros.

Si necesita mantener aplicaciones de 32 bits que se conectan a OLEDB u ODBC, podrá compilar y ejecutar la aplicación con Visual Studio 2022. Sin embargo, si necesita usar cualquiera de las herramientas de datos de Visual Studio, como el Explorador de servidores, el Asistente para orígenes de datos o el Diseñador de DataSet, deberá usar una versión anterior de Visual Studio que siga siendo un proceso de 32 bits. La última versión de Visual Studio como proceso de 32 bits fue Visual Studio 2019.

Si planea convertir el proyecto para que sea un proceso de 64 bits, deberá actualizar las conexiones de datos OLEDB y ODBC para usar proveedores de datos de 64 bits.

Si la aplicación usa bases de datos de Microsoft Access y puede convertir el proyecto a 64 bits, se recomienda usar el motor de base de datos de Microsoft Access de 64 bits, también denominado Motor de conectividad de Access (ACE). Consulte El proveedor OLE DB para el controlador Jet y ODBC solo está disponible en versiones de 32 bits para obtener más información.

Si usa un proveedor de datos de terceros, se recomienda conectarse con el proveedor para ver si ofrecen un proveedor de 64 bits antes de convertir el proyecto a 64 bits.

Captura de pantalla que muestra cómo cambiar el proveedor de datos ADO.NET

Captura de pantalla que muestra cómo cambiar el proveedor de datos ADO.NET

Comprobación de la conexión

Después de elegir el origen de datos, haga clic en Probar conexión. Si no se realiza correctamente, deberá solucionar problemas en función de la documentación del proveedor.

Captura de pantalla que muestra el cuadro de mensaje La prueba de conexión se realizó correctamente

Captura de pantalla que muestra el cuadro de mensaje La prueba de conexión se realizó correctamente

Si la prueba se realiza correctamente, está listo para crear un origen de datos, que es un término de Visual Studio que realmente significa un modelo de datos basado en la base de datos o el servicio subyacentes.

Conexión mediante el Explorador de objetos de SQL Server

La experiencia puede ser más fácil si usa el Explorador de objetos de SQL Server, que muestra un cuadro de diálogo que proporciona más ayuda para encontrar bases de datos disponibles localmente, en la red local y en las suscripciones de Azure, y ofrece un historial de opciones usadas recientemente.

Para acceder al cuadro de diálogo conectar desde el Explorador de objetos de SQL Server, haga clic en el botón de barra de herramientas Agregar SQL Server.

Captura de pantalla del botón Agregar SQL Server del Explorador de objetos de SQL Server

Aparece el cuadro de diálogo de conexión. Elija el servidor local, de red o Azure SQL Server, seleccione una base de datos, proporcione credenciales y elija Conectar.

Captura de pantalla del cuadro de diálogo Conectar del Explorador de objetos de SQL Server

Si necesita establecer otras opciones de configuración en la cadena de conexión, puede usar el vínculo Opciones avanzadas, que abre toda la configuración. Por ejemplo, para conectarse a una base de datos LocalDB basada en un archivo MDF, elija Avanzadas y establezca la propiedad AttachDbFilename.

Captura de pantalla que muestra la configuración avanzada

Una vez que haya terminado de configurar la conexión, el servidor y la base de datos se muestran en la ventana Explorador de objetos de SQL Server.

Captura de pantalla que muestra el mensaje Conexión realizada correctamente

Desde allí, puede examinar la base de datos, escribir y ejecutar consultas, editar datos, procedimientos almacenados y funciones, y realizar otras acciones directamente en Visual Studio.

Pasos siguientes

Si usa .NET Framework (no .NET Core ni .NET 5 o posterior) y Windows Forms o WPF, puede usar la ventana Orígenes de datos, por ejemplo, para configurar el enlace de datos para los controles de aplicaciones de Windows Forms y WPF; consulte Agregar nuevos orígenes de datos. Estas herramientas están diseñadas para permitirle crear rápidamente aplicaciones de Windows que necesitan permitir que los usuarios introduzcan, muestren y manipulen datos.

Si usa .NET 5 o posterior, .NET Core o ASP.NET Core, puede conectar la aplicación a la base de datos mediante Servicios conectados. Con Servicios conectados, puede usar fácilmente una base de datos de desarrollo local, hospedada por LocalDB de SQL, SQL Server que se ejecuta en un contenedor o una instancia local de SQL Server y, a continuación, realizar la transición a Azure SQL Database cuando esté listo para implementarse en la nube. Para .NET 5 o posterior, .NET Core y ASP.NET Core, debe considerar la posibilidad de usar Entity Framework Core como marco de base de datos.