Опубликован: 17.08.2010 | Доступ: свободный | Студентов: 999 / 59 | Оценка: 4.11 / 3.89 | Длительность: 29:38:00
Самостоятельная работа 10:

Поддержка баз данных с помощью API ODBC

Аннотация: В лекции приведены некоторые определения, такие как: DB (Data Base), ODBC (Open Database Connectivity), DBMS (Database Management System), SDK (Software Development Kit), API (Application Programming Interface), SQL (Structured Query Language), ODBC Driver, ODBC Driver Manager, ODBC Cursor Library, Data Source, DSN (Data Source Name), Result Set, Connection, ODBC Data Source Administrator . Настройка ODBC. Подготовка к выполнению SQL-запросов. Настройки мастера создания приложения для автоматической поддержки ODBC. Конструирование главного диалогового окна приложения. Код инициализации ODBC и взаимодействие с базой данных.
Файлы к данной лабораторной работе, Вы можете скачать здесь.

Некоторые определения

  • DB ( Data Base ) - база данных, представляющая собой совокупность взаимосвязанных таблиц, каждая из которых, как правило, хранится в отдельном файле. Имя базы данных обычно совпадает с именем каталога, где хранятся данные
  • ODBC ( Open Database Connectivity ) - открытое соединение с базами данных
  • DBMS ( Database Management System ) - система управления базами данных
  • SDK ( Software Development Kit ) - комплект разработки программного обеспечения
  • API ( Application Programming Interface ) - интерфейс прикладных программ. Функции API ODBC обеспечивают взаимодействие при помощи синтаксиса SQL с любыми форматами данных, для которых существует соответствующий драйвер ODBC
  • SQL ( Structured Query Language ) - язык структурированных запросов
  • ODBC Driver - драйвер взаимодействия с данными определенной структуры. Среда разработки Visual C++ .NET предоставляет готовые к употреблению драйвера ODBC, предназначенные для работы с такими СУБД, как
    • SQL Server
    • Microsoft Access
    • Microsoft FoxPro
    • Microsoft Excel
    • dBASE
    • Paradox
    • Текстовые файлы
  • ODBC Driver Manager - диспетчер драйверов ODBC (файл ODBC32.DLL )
  • ODBC Cursor Library - библиотека курсоров ODBC (файл ODBCCR32.DLL )
  • Data Source - источник данных, означает логическое представление в виде таблицы конкретного файла с данными
  • DSN ( Data Source Name ) - имя (алиас, псевдоним) источника данных, зарегистрированное диспетчером драйверов, под которым ODBC будет обеспечивать подключение к данным нужного драйвера и в котором будет указан путь размещения таблиц базы данных
  • Result Set - результирующий набор данных, полученный после выполнения SQL -запроса к базе данных
  • Connection - подключение к базе данных
  • ODBC Data Source Administrator - специальная утилита (вспомогательная, служебная программа) корпорации Microsoft для регистрации источника данных

Для обеспечения определенного уровня программной абстракции ODBC обеспечивает взаимодействие с конкретным форматом данных через драйвер ODBC, поставляемый разработчиком соответствующего формата DB. Чтобы ODBC поддерживало соответствующий формат данных, разработан перечень требований, который должен обеспечить разработчик драйвера (поставщик соответствующих данных). Этот перечень требований называется уровнем согласования.

Драйвер может поддерживать и большее число функций, но базовый уровень согласования должен быть выдержан, если разработчик драйвера хочет, чтобы его данные поддерживались приложениями на основе ODBC.

Когда приложение использует функции базового уровня согласования, то в проверке возможностей драйвера нет необходимости. Но если приложение базы данных хочет обратиться к функции ODBC, не принадлежащей базовому уровню согласования, то оно должно предварительно удостовериться, что драйвер эту функцию поддерживает. Для выяснения возможности драйвера поддерживать какую-то функцию в ODBC существует специальная тестовая функция SQLGetFunctions(). Аналогичные требования согласования существуют и для синтаксиса SQL.

Все функции ODBC можно разделить на логические группы, соответствующие порядку, в котором их применяют при создании приложений:

  • Настройка ODBC
  • Подключение к источнику данных
  • Получение информации о возможностях драйвера ODBC
  • Подготовка к выполнению SQL -запросов
  • SQL -запросы на получение выборки данных
  • Получение данных
  • Отключение от источника данных

Настройка ODBC

Настройка ODBC включает в себя действия, которые нужно выполнить для нормальной работы приложения. Прежде всего нужно запустить системную утилиту ODBC Data Source Administrator. Она запускается из командной строки Пуск/Выполнить операционной системы командой odbcad32


В результате появится окно администратора


Окно администратора имеет несколько вкладок, в том числе соответствующие типу DSN, поддерживаемому ODBC

  • User DSN - пользовательский источник данных. Является локальным для того компьютера, на котором он был создан, и может применяться только создавшим его пользователем
  • System DSN - системный источник данных. Принадлежит тому компьютеру, на котором создан. Любой обладающий достаточными правами пользователь может обращаться к этому источнику данных
  • File DSN - файловый источник данных. Обеспечивает доступ к конкретному файлу базы данных

Каждая вкладка делает свою запись в системном реестре, например


Чтобы создать DSN для источника данных, поддерживаемого драйвером ODBC, следует указать всю информацию, необходимую для его работы. Большинство драйверов ODBC требуют, как минимум, имени физического файла с данными и путем доступа к файлу.

Иными словами, с помощью утилиты ODBC Data Source Administrator мы устанавливаем ассоциативную связь между файлом с данными конкретной структуры и соответствующим драйвером, понимающим такой формат данных. Этой связи мы присваиваем имя ( DSN ), которое затем должны использовать в своем приложении для работы с этими данными, но уже с помощью стандартных функций ODBC. Таким образом достигается отделение (абстракция) функций обработки данных от конкретной структуры данных. Кроме этого, в DSN содержится информация местонахождения файлов-таблиц с данными. Перенеся приложение и данные в другое место или компьютер, достаточно установить настройки соответствующего DSN и приложение будет нормально работать!!!

Александр Даниленко
Александр Даниленко
Стоит Windows 8 Pro, Visual Studio 2010 Express Edition .