Краткое руководство. Использование .NET и C# в Visual Studio для подключения и создания запросов к базе данных
В этом кратком руководстве показано, как использовать код .NET и C# в Visual Studio для запроса базы данных в Azure SQL или Synapse SQL с инструкциями Transact-SQL.
Предварительные требования
Для работы с этим кратким руководством вам понадобится:
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Visual Studio 2022 Community, Professional или Enterprise Edition.
- База данных, в которой можно выполнять запрос. Для создания и настройки базы данных можно использовать одно из этих кратких руководств.
| Действие | База данных SQL | Управляемый экземпляр SQL | SQL Server на виртуальной машине Azure | Azure Synapse Analytics |
|---|---|---|---|---|
| Создание | Портал | Портал | Портал | Портал |
| CLI | CLI | |||
| PowerShell | PowerShell | PowerShell | PowerShell | |
| Шаблон развертывания | Шаблон развертывания | Шаблон развертывания | Шаблон развертывания | |
| Configure | Правило брандмауэра для IP-адресов на уровне сервера | Подключение из виртуальной машины | Параметры подключения | |
| Подключение из локальной сети | Подключение к экземпляру SQL Server | |||
| Получение сведений о подключении | Azure SQL; | Azure SQL; | Виртуальная машина SQL | Synapse SQL |
Создание кода для запроса к базе данных в службе «База данных SQL Azure»
- В Visual Studio создайте проект .
- В диалоговом окне «Создать проект» выберите консольное приложение C#.
- Введите sqltest для имени проекта и нажмите кнопку «Далее«.
- Выберите параметр платформы (долгосрочная поддержка), например .NET 6.0, а затем нажмите кнопку «Создать«. Создается новый проект.
- Выберите Проект>Управление пакетами NuGet.
- В диспетчере пакетов NuGet выберите вкладку Обзор, а затем найдите и выберите Microsoft.Data.SqlClient.
- На странице Microsoft.Data.SqlClient щелкните Установить.
- При выводе запроса нажмите кнопку ОК, чтобы продолжить установку.
- Если откроется окно Прием условий лицензионного соглашения, выберите Я принимаю.
- После завершения установки вы можете закрыть диспетчер пакетов NuGet.
- В редакторе кода замените содержимое Program.cs следующим кодом. Замените значения , , и .
using System; using Microsoft.Data.SqlClient; using System.Text; namespace sqltest < class Program < static void Main(string[] args) < try < SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); builder.DataSource = ".database.windows.net"; builder.UserID = ""; builder.Password = ""; builder.InitialCatalog = ""; using (SqlConnection connection = new SqlConnection(builder.ConnectionString)) < Console.WriteLine("\nQuery data example:"); Console.WriteLine("=========================================\n"); String sql = "SELECT name, collation_name FROM sys.databases"; using (SqlCommand command = new SqlCommand(sql, connection)) < connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) < while (reader.Read()) < Console.WriteLine("", reader.GetString(0), reader.GetString(1)); > > > > > catch (SqlException e) < Console.WriteLine(e.ToString()); >Console.ReadLine(); > > >
Выполнение кода
- Чтобы запустить приложение, выберите Отладка>Начать отладку или Запустить на панели инструментов либо нажмите клавишу F5.
- Убедитесь, что возвращены имена баз данных и их параметры сортировки, и закройте окно приложения.
Дальнейшие действия
- Узнайте, как подключить и запросить базу данных в Базе данных SQL Azure с помощью .NET из командной строки в Windows/Linux/macOS.
- Узнайте о начале работы с .NET в Windows/Linux/macOS с помощью VS Code.
- Дополнительные сведения о разработке с помощью .NET и SQL.
- Узнайте, как создать первую базу данных в Базе данных SQL Azure с помощью SSMS.
- Дополнительные сведения о .NET см. в этой документации.
- Пример логики повтора: отказоустойчивое подключение к SQL с помощью ADO.NET.
Подключение к базе данных SQL с помощью C и C++
Эта публикация предназначена для разработчиков C и C++, выполняющих подключение приложений к службе «База данных SQL Azure». Публикация содержит несколько разделов, что дает возможность переходить сразу к интересующей вас теме.
Предварительные требования для выполнения инструкций руководства по C/C++
Убедитесь, что у вас есть указанные ниже компоненты.
- Активная учетная запись Azure. Если у вас нет такой учетной записи, вы можете зарегистрироваться для использования бесплатной пробной версии Azure.
- Visual Studio. Для разработки и запуска этого примера необходимо установить компоненты языка C++.
- Инструменты разработки Visual Studio для Linux. Если вы разрабатываете приложение на платформе Linux, необходимо также установить расширение Linux для Visual Studio.
База данных SQL Azure и SQL Server на виртуальных машинах
База данных SQL Azure основана на Microsoft SQL Server и предназначена для обеспечения высокого уровня доступности, производительности и масштабируемости. Использование Azure SQL по сравнению с собственной локальной базой данных дает множество преимуществ. Благодаря Azure SQL вам не нужно устанавливать, настраивать, обслуживать базу данных или управлять ею. Вы работаете только с содержимым и структурой базы данных. В нее встроены такие возможности, как отказоустойчивость и избыточность, которые так важны при работе с базами данных.
В данный момент Azure предлагает два варианта для размещения рабочих нагрузок сервера SQL: База данных SQL Azure (база данных как услуга) и сервер SQL на виртуальных машинах. Мы не будем подробно рассматривать различия между этими двумя вариантами, но отметим, что База данных SQL Azure является лучшим решением для новых облачных приложений, так как она позволяет экономить средства и оптимизировать производительность облачных служб. Если вы рассматриваете возможность переноса или расширения своих локальных приложений в облако, сервер SQL на виртуальной машине Azure может быть хорошим выбором. Чтобы было проще следовать инструкциям в этой статье, создадим экземпляр Базы данных SQL Azure.
Технологии доступа к данным: ODBC и OLE DB
Подключение к Базе данных SQL Azure ничем не отличается от обычной процедуры. В настоящее время существует два способа подключения к базам данных: ODBC и OLE DB. В последние годы корпорация Майкрософт поддерживает ODBC для доступа к собственным реляционным данным. Технология ODBC относительно проста и работает гораздо быстрее, чем OLE DB. Единственное предостережение — ODBC использует старый API в стиле C.
Шаг 1. Создание базы данных SQL Azure
Чтобы узнать, как создать образец базы данных, перейдите на страницу Начало работы . Также это можно сделать с помощью портала Azure, просмотрев короткий 2-минутный видеоролик.
Шаг 2. Получение строки подключения
После подготовки Базы данных SQL Azure необходимо выполнить следующие действия, чтобы найти информацию о подключении и добавить IP-адрес клиента для доступа через брандмауэр.
На портале Azure перейдите к строке подключения ODBC Базы данных SQL Azure с помощью команды Показать строки подключения к базам данных в обзоре базы данных:


Скопируйте содержимое строки ODBC (включает Node.js) [проверка подлинности SQL]. Оно будет использоваться позже для подключения из интерпретатора командной строки ODBC C++. Эта строка содержит такие сведения, как драйвер, сервер и другие параметры подключения к базе данных.
Шаг 3. Добавление IP-адреса в брандмауэр
Перейдите к разделу брандмауэра, где указан сервер, и добавьте IP-адрес клиента с помощью этих действий, чтобы установить подключение.

На этом этапе База данных SQL Azure настроена и готова к подключению из приложения C++.
Шаг 4. Подключение из приложения Windows C/C++
К Базе данных SQL Azure можно подключиться при помощи ODBC в Windows с использованием этого примера, созданного с использованием Visual Studio. В этом примере используется интерпретатор командной строки ODBC, с помощью которого можно подключиться к Базе данных SQL Azure. Данный пример принимает в качестве аргумента командной строки файл с именем базы данных-источника (DSN) или подробную строку подключения, скопированную на портале Azure ранее. Откройте страницу свойств для этого проекта и вставьте строку подключения в качестве аргумента команды, как показано ниже:

Убедитесь, что в строке подключения к базе данных указаны правильные сведения для проверки подлинности.
Запустите приложение, чтобы создать его. Должно появиться следующее окно, подтверждающее успешность подключения. Чтобы проверить подключение базы данных, можно выполнить базовые команды SQL, например создать таблицу:

Кроме того, файл DSN можно создать при помощи мастера, который запускается, если не указаны аргументы командной строки. Рекомендуется попробовать и этот вариант. Этот файл DSN можно использовать для автоматизации и защиты параметров проверки подлинности:

Поздравляем! Вы успешно установили подключение к базе данных SQL Azure при помощи C++ и ODBC в Windows. Чтобы сделать то же самое для платформы Linux, см. сведения дальше в этой статье.
Шаг 5. Подключение из приложения Linux C/C++
Возможно, вы еще не знаете об этом, но теперь в Visual Studio можно разрабатывать приложения C++ для Linux. Об этой новой возможности можно прочитать в записи блога Visual C++ for Linux Development (Разработка Visual C++ для Linux). Чтобы создавать приложения для Linux, необходим удаленный компьютер, на котором запущен дистрибутив Linux. Если у вас нет такого компьютера, его можно быстро настроить при помощи виртуальных машин Linux Azure.
Для выполнения инструкций этого руководства предположим, что у вас настроен дистрибутив Linux Ubuntu 16.04. Описанные здесь действия также должны работать для Ubuntu 15.10, Red Hat 6 и Red Hat 7.
С помощью следующих действий устанавливаются библиотеки, необходимые вашему дистрибутиву для SQL и ODBC:
sudo su sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/mssql-ubuntu-test/ xenial main" > /etc/apt/sources.list.d/mssqlpreview.list' sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 apt-get update apt-get install msodbcsql apt-get install unixodbc-dev-utf16 #this step is optional but recommended*
Запустите Visual Studio. Последовательно выберите «Средства» -> «Параметры» -> «Кроссплатформенный» -> «Диспетчер соединений» и добавьте подключение к компьютеру под управлением Linux:

После того как установлено подключение по протоколу SSH, создайте шаблон пустого проекта (Linux):

Затем можно добавить новый исходный файл C и заменить его этим содержимым. Используя API ODBC SQLAllocHandle, SQLSetConnectAttr и SQLDriverConnect, можно инициализировать и установить подключение к базе данных. Как и для образца Windows ODBC, необходимо заменить вызов SQLDriverConnect сведениями из параметров строки подключения к базе данных, ранее скопированными на портале Azure.
retcode = SQLDriverConnect( hdbc, NULL, "Driver=ODBC Driver 13 for SQL" "Server;Server=;Uid=;Pwd=;database=", SQL_NTS, outstr, sizeof(outstr), &outstrlen, SQL_DRIVER_NOPROMPT);
Последнее что необходимо выполнить перед компиляцией — добавить odbc в качестве зависимости библиотеки:

Чтобы запустить приложение, откройте консоль Linux из меню Отладка:

Если подключение успешно, вы увидите имя текущей базы данных в консоли Linux:

Поздравляем! Вы успешно выполнили инструкции руководства и теперь можете подключиться к Базе данных SQL Azure из C++ на платформах Windows и Linux.
Получение полного решения C/C++ для этого руководства
Решение GetStarted, содержащее все примеры из этой статьи, можно найти в таких разделах GitHub:
- образец ODBC C++ Windows — загрузите образец ODBC C++ Windows для подключения к Azure SQL;
- образец ODBC C++ Linux — загрузите образец ODBC C++ Linux для подключения к Azure SQL.
Дальнейшие действия
- Ознакомьтесь с разделом Общие сведения о разработке базы данных SQL
- См. дополнительные сведения в справочнике по API ODBC
Дополнительные ресурсы
- Шаблоны разработки для мультитенантных приложений SaaS с использованием Базы данных Azure SQL
- Вы можете изучить все возможности Базы данных SQL
Создание базы данных и добавление таблиц в приложениях платформа .NET Framework с помощью Visual Studio
Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Они особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.
Visual Studio можно использовать для создания и обновления локального файла базы данных в SQL Server Express LocalDB. Вы также можете создать базу данных, выполнив инструкции Transact-SQL в окне инструментов SQL Server обозреватель объектов в Visual Studio. В этом разделе описано, как создать .mdf файл и добавить таблицы и ключи с помощью конструктора таблиц.
Необходимые компоненты
Чтобы выполнить это пошаговое руководство, вам потребуется разработка классических приложений .NET и хранение и обработка рабочих нагрузок, установленных в Visual Studio. Чтобы установить их, откройте Visual Studio Installer и нажмите кнопку «Изменить» (или «Изменить >«) рядом с версией Visual Studio, которую вы хотите изменить. См. раздел Изменение Visual Studio.
Процедуры, описанные в этой статье, применяются только к платформа .NET Framework проектам Windows Forms, а не к проектам Windows Forms .NET Core.
Создание проекта и файла локальной базы данных
- Создайте проект приложения Windows Forms (платформа .NET Framework) и назовите его SampleDatabaseWalkthrough.
- В строке меню выберите «Добавить новый элемент проекта>«. Если появится небольшое диалоговое окно с полем для имени файла, выберите «Показать все шаблоны«.
- В списке шаблонов элементов прокрутите вниз и выберите базу данных на основе служб.













