Visual Studio Data Tools для C++

Нативный C++ часто обеспечивает максимальную производительность при обращении к источникам данных. Однако для приложений C++ в Visual Studio доступно не так много средств для работы с данными, как для приложений .NET. Например, окно Источники данных не позволяет перетаскивать источники данных в область конструктора C++ . Если вам нужен объектно-реляционный слой, вам придется написать его самостоятельно или использовать сторонний продукт. Это относится и к функции привязки данных, хотя приложения, использующие библиотеку классов Microsoft Foundation, могут использовать некоторые классы баз данных, а также документы и представления, для хранения данных в памяти и их отображения для пользователя. Дополнительные сведения см. в статье Доступ к данным в Visual C++.

Для подключения к базам данных SQL нативные приложения C++ могут использовать драйверы ODBC и OLE DB и поставщик ADO, который входит в Windows. Они могут подключаться к любой базе данных, поддерживающей эти интерфейсы. Драйвер ODBC является стандартным. OLE DB предоставляется для обеспечения обратной совместимости. Дополнительные сведения об этих технологиях см. в статье Компоненты Windows для доступа к данным.

Чтобы воспользоваться преимуществами пользовательских функций в SQL Server 2005 и более поздних версий, используйте собственный клиент SQL Server. Собственный клиент объединяет драйвер SQL ODBC и поставщика OLE DB SQL Server в одну собственную DLL-библиотеку. Это обеспечивает поддержку приложений, использующих API-интерфейсы в собственном коде (ODBC, OLE DB и ADO) для подключения к Microsoft SQL Server. Собственный клиент SQL Server устанавливается вместе с SQL Server Data Tools. Руководство по программированию приведено здесь: программирование собственного клиента SQL Server.

Подключение к localDB через ODBC и собственный клиент SQL из приложения C++

  1. Установите SQL Server Data Tools.

  2. Если вам нужен пример базы данных SQL для подключения, скачайте базу данных Northwind и распакуйте ее в новое расположение.

  3. С помощью SQL Server Management Studio подключите распакованный файл Northwind. mdf к localDB. Когда запустится SQL Server Management Studio подключитесь к (localdb)\MSSQLLocalDB.

    Диалоговое окно подключения SSMS

    Затем щелкните правой кнопкой мыши узел localDB на панели слева и выберите Подключить.

    Подключение базы данных SSMS

  4. Скачайте пример SDK ODBC Windows и распакуйте его в новое расположение. В этом примере показаны основные команды ODBC, которые используются для подключения к базе данных и выполнения запросов и команд. Дополнительные сведения об этих функциях см. в статье Microsoft Open Database Connectivity (ODBC). При первой загрузке решения (оно находится в папке C++) Visual Studio предложит обновить решение до текущей версии Visual Studio. Нажмите кнопку Да.

  5. Чтобы использовать собственный клиент, вам нужен файл заголовка и файл библиотеки. Эти файлы содержат функции и определения, относящиеся к SQL Server, за пределами функций ODBC, определенных в sql.h. Откройте Проект>Свойства>Каталоги VC++, добавьте следующий каталог include:

    %ProgramFiles%\Microsoft SQL Server\110\SDK\Include

    И каталог библиотеки:

    %ProgramFiles%\Microsoft SQL Server\110\SDK\Lib

  6. Добавьте эти строки в odbcsql.cpp. #define предотвращает компиляцию несущественных определений OLE DB.

    #define _SQLNCLI_ODBC_
    #include <sqlncli.h>
    

    Обратите внимание на то, что в этом примере не используются функции собственного клиента, поэтому для его компиляции и выполнения описанные выше действия не требуются. Теперь проект настроен для использования этой функции. Подробнее см. в разделе Программирование с SQL Server Native Client.

  7. Укажите, какой драйвер следует использовать в подсистеме ODBC. Пример передает атрибут строки подключения драйвера как аргумент командной строки. Выберите Проект>Свойства>Отладка и добавьте следующий аргумент команды:

    DRIVER="SQL Server Native Client 11.0"
    
  8. Нажмите клавишу F5 для сборки и запуска приложения. Откроется диалоговое окно драйвера, предлагающее войти в базу данных. Введите (localdb)\MSSQLLocalDB и установите флажок Использовать доверительное подключение. Нажмите кнопку ОК. Вы увидите консоль с сообщениями об успешном подключении. Затем появится командная строка, в которой можно ввести инструкцию SQL. На следующем экране показан пример и результаты запроса:

    Результат запроса из примера ODBC

См. также