Прочитать на английском

Поделиться через


Краткое руководство. Использование .NET (C#) для запроса базы данных

Область применения:База данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse Analytics

В этом кратком руководстве вы будете использовать код .NET и C# для подключения к базе данных. Затем вы выполните инструкцию Transact-SQL для запроса данных. Это краткое руководство применимо к Windows, Linux и macOS и использует единую платформу .NET.

Предварительные условия

Для завершения работы с этим кратким руководством вам понадобится:

Создание проекта .NET

  1. Откройте командную строку и создайте папку с именем sqltest. Перейдите в эту папку и выполните следующую команду.

    dotnet new console
    

    Эта команда создает файлы проекта нового приложения, включая первоначальный файл кода C# (Program.cs), файл конфигурации XML (sqltest.csproj) и необходимые двоичные файлы.

  2. В командной строке, используемой выше, выполните следующую команду.

    dotnet add package Microsoft.Data.SqlClient
    

    Эта команда добавляет Microsoft.Data.SqlClient пакет в проект.

Вставка кода для запроса к Базе данных SQL Azure

  1. В текстовом редакторе, например Visual Studio Code, откройте Program.cs.

  2. Замените содержимое следующим кодом и добавьте соответствующие значения для сервера, базы данных, имени пользователя и пароля.

Примечание

Чтобы использовать строку подключения ADO.NET, замените 4 строки в коде, устанавливающем сервер, базу данных, имя пользователя и пароль, следующей строкой. В строке задайте имя пользователя и пароль.

builder.ConnectionString="<connection-string>";

using Microsoft.Data.SqlClient;
using System;
using System.Threading.Tasks;

namespace sqltest
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var builder = new SqlConnectionStringBuilder
            {
                DataSource = "<your_server.database.windows.net>",
                UserID = "<your_username>",
                Password = "<password>",
                InitialCatalog = "<your_database>"
            };

            var connectionString = builder.ConnectionString;

            try
            {
                await using var connection = new SqlConnection(connectionString);
                Console.WriteLine("\nQuery data example:");
                Console.WriteLine("=========================================\n");

                await connection.OpenAsync();

                var sql = "SELECT name, collation_name FROM sys.databases";
                await using var command = new SqlCommand(sql, connection);
                await using var reader = await command.ExecuteReaderAsync();

                while (await reader.ReadAsync())
                {
                    Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1));
                }
            }
            catch (SqlException e) when (e.Number == /* specific error number */)
            {
                Console.WriteLine($"SQL Error: {e.Message}");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

            Console.WriteLine("\nDone. Press enter.");
            Console.ReadLine();
        }
    }
}

Не забудьте заменить <your_server.database.windows.net>, <your_username>, <password> и <your_database> с фактическими сведениями о SQL Server. Кроме того, замените /* specific error number */ фактическим номером ошибки SQL, который требуется обрабатывать.

Выполнение кода

  1. Запустите следующие команды в терминале.

    dotnet restore
    dotnet run
    
  2. Проверьте, что строки возвращаются; ваш вывод может включать другие значения.

    Query data example:
    =========================================
    
    master    SQL_Latin1_General_CP1_CI_AS
    tempdb    SQL_Latin1_General_CP1_CI_AS
    WideWorldImporters    Latin1_General_100_CI_AS
    
    Done. Press enter.
    
  3. Нажмите клавишу ВВОД, чтобы закрыть окно приложения.


Дополнительные ресурсы

Документация

Обучение

Модуль

Использование баз данных в проекте .NET Aspire - Training

Узнайте о системах баз данных, к которым может подключаться .NET Aspire с помощью встроенных компонентов. Затем вы узнаете, как настроить подключения и хранить данные в реляционных и нереляционных базах данных.

Сертификация

Microsoft Certified: Azure Database Administrator Associate (Сертификация Майкрософт. Помощник Администратора баз данных Azure) - Certifications

Администрирование инфраструктуры базы данных SQL Server для облачных, локальных и гибридных реляционных баз данных с помощью предложений реляционной базы данных Microsoft PaaS.