Уроки Iczelion'а


Урок 2. Соединение с базой данных


  На этой консультации, мы изучим механику использования ODBC API.

  Ваша программа не общается непосредственно с драйверами ODBC, она пользуется услугами менеджера Управление работой менеджера осуществляется с помощью API функций, к которым вы можете обращаться непосредственно из своей программы, вы должны только подключить odbc32.inc и odbc32.lib, а так же windows.inc.

  Шаги которые необходимо предпринять для соединения с базой данных следующие:

  1. Получить идентификатор окружения. Вам нужно делать это только один раз за ODBC-сеанс. Как только вы получите идентификатор, вы сможете модифицировать свойства окружения так, чтобы они удовлетворяли вашим требованиям. Вы можете понимать этот шаг как создание некой рабочей области.
  2. Указать какую версию ODBC ваша программа хочет использовать. Вы можете выбрать между версиями ODBC 2.x и 3.x. Они различны во многих аспектах, поэтому этот шаг - необходим. Таким образом менеджер ODBC сможет решить какой синтаксис он должен использовать, чтобы связаться с вашей программой и проинтерпретировать её команды.
  3. Выделить память для идентификатора соединения. Этот шаг может рассматриваться как создание пустого соединения. Вы не обязаны определять нужный для соединения с базой данных драйвер.
  4. Установить связь. Вы вызываете функцию ODBC, чтобы установить связь.

  Когда вы закончите работу с базой данных, вы должны закрыть связь с ней следующим образом:

  1. Отключится от источника данных
  2. Уничтожить идентификатор соединения
  3. Уничтожить идентификатор окружения (если вы не желаете использовать это окружение для других соединений)

ВЫДЕЛЕНИЕ ПАМЯТИ ДЛЯ ИДЕНТИФИКАТОРА

  В версиях ODBC до 3.x, вам нужно вызывать отдельные функции, чтобы выделить память для идентификатора окружения, соединения иинструкции (SQLAllocEnv, SQLAllocConnect, SQLAllocStmt). Теперь под ODBC 3.x все функции заменяются SQLAllocHandle, которая имеет следующий синтаксис: SQLRETURN SQLAllocHandle(SQLSMALLINT HandleType, SQLHANDLE InputHandle, SQLHANDLE * OutputHandlePtr );




- Начало -  - Назад -  - Вперед -