Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: База данных SQL Azure
Эта статья помогает разработчикам C и C++ подключаться к База данных SQL Azure.
Предварительные требования
Чтобы выполнить действия, описанные в этом руководстве, вам потребуется следующее:
- Активная учетная запись Azure. Если у вас нет такой учетной записи, вы можете зарегистрироваться для использования бесплатной пробной версии Azure.
- Визуальная студия. Для разработки и запуска этого примера необходимо установить компоненты языка C++.
- Разработка с Visual Studio на Linux Если вы разрабатываете приложение на платформе Linux, необходимо также установить расширение Linux для Visual Studio.
Технологии доступа к данным: ODBC и OLE DB
В настоящее время существует два способа подключения к базе данных Azure SQL: ODBC (Open Database Connectivity) и OLE DB (Связывание и внедрение объектов базы данных). В последние годы корпорация Майкрософт поддерживает ODBC для доступа к собственным реляционным данным. ODBC гораздо быстрее, чем OLE DB. Единственное предостережение — ODBC использует старый API в стиле C.
Создание Базы данных SQL Azure
Чтобы узнать, как создать образец базы данных, перейдите на страницу Начало работы .
Получение строки подключения
После подготовки Базы данных SQL Azure необходимо выполнить следующие действия, чтобы найти информацию о подключении и добавить IP-адрес клиента для доступа через брандмауэр.
На портале Azure перейдите к строкам подключения вашей базы данных Azure SQL, используя Показать строки подключения к базе данных, перечисленные в разделе Обзор вашей базы данных.
Выберите вкладку ODBC .
Скопируйте содержимое строки ODBC (включает Node.js) [проверка подлинности SQL]. Оно будет использоваться позже для подключения из интерпретатора командной строки ODBC C++. Эта строка содержит такие сведения, как драйвер, сервер и другие параметры подключения к базе данных.
Добавление IP-адреса в брандмауэр
- Перейдите на логический сервер Базы данных SQL Azure. Выберите ссылку на имя сервера на странице обзора базы данных SQL или перейдите к ней через поиск на портале Azure.
- В разделе "Безопасность" выберите "Сеть".
- На вкладке "Общедоступный доступ" выберите выбранные сети , если это еще не так.
- Добавьте IP-адрес клиента в брандмауэр, выполнив следующие действия , чтобы убедиться, что мы можем установить успешное подключение. Выберите "Добавить адрес IPv4 клиента" или добавьте правило брандмауэра.
На этом этапе вы настроили базу данных SQL Azure и готовы подключиться из кода C++ с рабочей станции.
Подсказка
Добавление IP-адреса рабочей станции клиента в брандмауэр общедоступной сети допустимо для временной лаборатории или настройки обучения, но для корпоративного решения или длительного проекта выполните следующие рекомендации по обеспечению безопасности:
- Установите разрешение службам и ресурсам Azure доступ к этому серверу на значение OFF на уровне сервера.
- Используйте конечные точки службы виртуальной сети и правила брандмауэра виртуальной сети.
- Используйте Частную ссылку.
Подключение из приложения Windows C/C++
К Базе данных SQL Azure можно подключиться при помощи ODBC в Windows с использованием этого примера, созданного с использованием Visual Studio. В этом примере используется интерпретатор командной строки ODBC, с помощью которого можно подключиться к Базе данных SQL Azure. Данный пример принимает в качестве аргумента командной строки файл с именем базы данных-источника (DSN) или подробную строку подключения, скопированную на портале Azure ранее. Откройте страницу свойств для этого проекта и вставьте строку подключения в качестве аргумента команды, как показано ниже:
Убедитесь, что в строке подключения к базе данных указаны правильные сведения для проверки подлинности.
Запустите приложение, чтобы создать его. Должно появиться следующее окно, подтверждающее успешность подключения. Вы даже можете выполнить некоторые основные команды SQL, например CREATE TABLE проверить подключение к базе данных:
Кроме того, файл DSN можно создать при помощи мастера, который запускается, если не указаны аргументы командной строки. Рекомендуется попробовать и этот вариант. Этот файл DSN можно использовать для автоматизации и защиты параметров проверки подлинности:
Поздравляем! Вы успешно установили подключение к базе данных SQL Azure при помощи C++ и ODBC в Windows. Вы можете продолжать читать, чтобы сделать то же самое для платформы Linux.
Подключение из приложения Linux C/C++
Вы можете разрабатывать приложения C++ Linux в Visual Studio. Дополнительные сведения см. в следующем блоге: Visual C++ для разработки Linux.
Чтобы создавать приложения для Linux, необходим удаленный компьютер, на котором запущен дистрибутив Linux. Если у вас нет доступа, можно быстро настроить его с помощью виртуальных машин Linux Azure и различных методов развертывания.
В этом руководстве предполагается, что у вас есть дистрибутив Ubuntu 16.04 Linux. Действия также применяются к 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 SQLAllocHandleSQLSetConnectAttrODBC, и SQLDriverConnectвы сможете инициализировать и установить подключение к базе данных.
Как и в примере Windows ODBC, необходимо заменить вызов SQLDriverConnect на сведения из параметров строки подключения к базе данных, которые были скопированы ранее с портала Azure.
retcode = SQLDriverConnect(
hdbc, NULL, "Driver=ODBC Driver 13 for SQL"
"Server;Server=<yourserver>;Uid=<yourusername>;Pwd="
"<password>;database=<yourdatabase>",
SQL_NTS, outstr, sizeof(outstr), &outstrlen, SQL_DRIVER_NOPROMPT);
Последнее что необходимо выполнить перед компиляцией — добавить odbc в качестве зависимости библиотеки:
Чтобы запустить приложение, откройте консоль Linux из меню Отладка:
Если подключение успешно, вы увидите имя текущей базы данных в консоли Linux:
Поздравляем! Вы успешно выполнили руководство и теперь можете подключиться к База данных SQL Azure из C++ на платформах Windows и Linux.
Получите полное руководство по C/C++
На сайте GitHub можно найти решение, содержащее все примеры из этой статьи: GetStarted.
- образец ODBC C++ Windows — загрузите образец ODBC C++ Windows для подключения к Azure SQL;
- образец ODBC C++ Linux — загрузите образец ODBC C++ Linux для подключения к Azure SQL.