Guía de inicio rápido: Uso de .NET Core (C#) para consultar una base de datos de Azure SQLQuickstart: Use .NET Core (C#) to query an Azure SQL database

En este tutorial de inicio rápido, usará código de C# y .NET Core para conectarse a una base de datos de Azure SQL.In this quickstart, you'll use .NET Core and C# code to connect to an Azure SQL database. Luego, ejecutará una instrucción Transact-SQL para consultar los datos.You'll then run a Transact-SQL statement to query data.

Sugerencia

El siguiente módulo de Microsoft Learn le ayuda gratis a aprender cómo desarrollar y configurar una aplicación de ASP.net que consulta una instancia de Azure SQL Database.The following Microsoft Learn module helps you learn for free how to Develop and configure an ASP.NET application that queries an Azure SQL Database

Requisitos previosPrerequisites

En este tutorial, necesitará:For this tutorial, you need:

Nota

En esta guía de inicio rápido se usa la base de datos mySampleDatabase.This quickstart uses the mySampleDatabase database. Si quiere usar otra base de datos, deberá cambiar las referencias de base de datos y modificar la consulta SELECT en el código C#.If you want to use a different database, you will need to change the database references and modify the SELECT query in the C# code.

Obtención de información de conexión de SQL ServerGet SQL server connection information

Obtención de la información de conexión necesaria para conectarse a Azure SQL Database.Get the connection information you need to connect to the Azure SQL database. En los procedimientos siguientes, necesitará el nombre completo del servidor o nombre de host, el nombre de la base de datos y la información de inicio de sesión.You'll need the fully qualified server name or host name, database name, and login information for the upcoming procedures.

  1. Inicie sesión en el Azure Portal.Sign in to the Azure portal.

  2. Vaya a las páginas SQL Database o Instancias administradas de SQL.Navigate to the SQL databases or SQL managed instances page.

  3. En la página Información general, revise el nombre completo del servidor junto a Nombre del servidor para una única base de datos o el nombre completo del servidor junto a Host para una instancia administrada.On the Overview page, review the fully qualified server name next to Server name for a single database or the fully qualified server name next to Host for a managed instance. Para copiar el nombre del servidor o nombre de host, mantenga el cursor sobre él y seleccione el icono Copiar.To copy the server name or host name, hover over it and select the Copy icon.

Obtención de información de conexión de ADO.NET (opcional)Get ADO.NET connection information (optional)

  1. Vaya a la página mySampleDatabase y, en Configuración, seleccione Cadenas de conexión.Navigate to the mySampleDatabase page and, under Settings, select Connection strings.

  2. Revise la cadena de conexión completa de ADO.NET.Review the complete ADO.NET connection string.

    Cadena de conexión ADO.NET

  3. Copie la cadena de conexión ADO.NET si quiere usarla.Copy the ADO.NET connection string if you intend to use it.

Creación de un proyecto de .NET CoreCreate a new .NET Core project

  1. Abra un símbolo del sistema y cree una carpeta denominada sqltest.Open a command prompt and create a folder named sqltest. Vaya a esta carpeta y ejecute este comando.Navigate to this folder and run this command.

    dotnet new console
    

    Con este comando se crean nuevos archivos de proyecto de aplicaciones, incluido un archivo de código de C# inicial (Program.cs), un archivo de configuración XML (sqltest.csproj) y los archivos binarios necesarios.This command creates new app project files, including an initial C# code file (Program.cs), an XML configuration file (sqltest.csproj), and needed binaries.

  2. En un editor de texto, abra sqltest.csproj y pegue el XML siguiente entre las etiquetas <Project>.In a text editor, open sqltest.csproj and paste the following XML between the <Project> tags. Este XML agrega System.Data.SqlClient como dependencia.This XML adds System.Data.SqlClient as a dependency.

    <ItemGroup>
        <PackageReference Include="System.Data.SqlClient" Version="4.6.0" />
    </ItemGroup>
    

Inserción de código para consultar la base de datos SQLInsert code to query SQL database

  1. En un editor de texto, abra Program.cs.In a text editor, open Program.cs.

  2. Reemplace el contenido con el código siguiente y agregue los valores adecuados para el servidor, la base de datos, el nombre de usuario y la contraseña.Replace the contents with the following code and add the appropriate values for your server, database, username, and password.

Nota

Para usar una cadena de conexión ADO.NET, reemplace las 4 líneas del código donde se establece el servidor, la base de datos, el nombre de usuario y la contraseña por la línea que aparece a continuación.To use an ADO.NET connection string, replace the 4 lines in the code setting the server, database, username, and password with the line below. En la cadena, establezca el nombre de usuario y la contraseña.In the string, set your username and password.

builder.ConnectionString="<your_ado_net_connection_string>";

using System;
using System.Data.SqlClient;
using System.Text;

namespace sqltest
{
    class Program
    {
        static void Main(string[] args)
        {
            try 
            { 
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

                builder.DataSource = "<your_server.database.windows.net>"; 
                builder.UserID = "<your_username>";            
                builder.Password = "<your_password>";     
                builder.InitialCatalog = "<your_database>";
         
                using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                {
                    Console.WriteLine("\nQuery data example:");
                    Console.WriteLine("=========================================\n");
                    
                    connection.Open();       
                    StringBuilder sb = new StringBuilder();
                    sb.Append("SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName ");
                    sb.Append("FROM [SalesLT].[ProductCategory] pc ");
                    sb.Append("JOIN [SalesLT].[Product] p ");
                    sb.Append("ON pc.productcategoryid = p.productcategoryid;");
                    String sql = sb.ToString();

                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1));
                            }
                        }
                    }                    
                }
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }
            Console.WriteLine("\nDone. Press enter.");
            Console.ReadLine(); 
        }
    }
}

Ejecución del códigoRun the code

  1. En el símbolo del sistema, ejecute estos comandos.At the prompt, run the following commands.

    dotnet restore
    dotnet run
    
  2. Compruebe que se devuelven las 20 primeras filas.Verify that the top 20 rows are returned.

    Query data example:
    =========================================
    
    Road Frames HL Road Frame - Black, 58
    Road Frames HL Road Frame - Red, 58
    Helmets Sport-100 Helmet, Red
    Helmets Sport-100 Helmet, Black
    Socks Mountain Bike Socks, M
    Socks Mountain Bike Socks, L
    Helmets Sport-100 Helmet, Blue
    Caps AWC Logo Cap
    Jerseys Long-Sleeve Logo Jersey, S
    Jerseys Long-Sleeve Logo Jersey, M
    Jerseys Long-Sleeve Logo Jersey, L
    Jerseys Long-Sleeve Logo Jersey, XL
    Road Frames HL Road Frame - Red, 62
    Road Frames HL Road Frame - Red, 44
    Road Frames HL Road Frame - Red, 48
    Road Frames HL Road Frame - Red, 52
    Road Frames HL Road Frame - Red, 56
    Road Frames LL Road Frame - Black, 58
    Road Frames LL Road Frame - Black, 60
    Road Frames LL Road Frame - Black, 62
    
    Done. Press enter.
    
  3. Elija ENTRAR para cerrar la ventana de la aplicación.Choose Enter to close the application window.

Pasos siguientesNext steps