Основы проектирования приложений баз данных


         

Соотношение стандарта ODBC и стандарта интерфейса уровня вызовов (CLI)


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

  • спецификация X/Open CAE1) (Specification "Data Management: SQL Call-Level Interface (CLI)");
  • спецификация ISO2) /IEC 9075-3:1995 (E) (Call-Level Interface (SQL/CLI)).

В настоящее время фирма Microsoft поддерживает версию 3.x ODBC API. Приложения, написанные на основе спецификации X/Open и ISO CLI, будут правильно работать с ODBC-драйверами версии 3.x или драйверами "согласованного стандарта" в том случае, если они компилируются с заголовочными файлами ODBC версии 3.x и линкуются с ODBC 3.x библиотеками, а доступ к ODBC-драйверу получают через менеджер драйверов ODBC 3.x. Аналогично, что и сами драйверы 3.x, написанные на основе спецификации X/Open и ISO CLI, будут правильно работать с приложениями при соблюдении этих же условий.

Драйвер ODBC 3.x всегда поддерживает все возможности, используемые приложением "согласованного стандарта", а приложение ODBC 3, которое использует только возможности, предоставляемые ISO CLI, и обязательные средства, описываемые X/Open CLI, всегда будет работать с драйвером "согласованного стандарта".

В дополнение к интерфейсу, специфицированному в стандартах ISO/IEC и X/Open CLI, ODBC реализует следующие возможности:

  • извлечение нескольких строк (блочная выборка) за один вызов функции;
  • связывание с массивом параметров;
  • поддержка закладок, включая выборку посредством закладки, закладки переменной длины, блочное обновление и удаление посредством отмеченных операций над непоследовательными строками;
  • построчное связывание (row-wise binding);
  • связывание со смещением (binding offsets);
  • поддержка пакетов SQL-операторов как в хранимых процедурах, так и в виде последовательности отдельных SQL-операторов, выполняемых при вызове функций SQLExecute и SQLExecDirect;
  • определение точного или приблизительного числа строк курсора;
  • применение операции позиционированного обновления и удаления и пакетных удалений и обновлений с использованием функции SQLSetPos;
  • поддержка функций каталога, позволяющих получать информацию из схемы базы данных (системных таблиц);
  • библиотеки преобразования для кодовых страниц;
  • асинхронное выполнение;
  • поддержка хранимых процедур, включая escape-последовательности, механизм связывания выходных параметров, функции каталога;
  • более продвинутые возможности соединения, включающие поддержку атрибутов соединения и просмотра атрибутов.



Содержание  Назад  Вперед