Открытое подключение к базе данных - Open Database Connectivity

В вычисление, Открытое подключение к базе данных (ODBC) является стандартным интерфейс прикладного программирования (API) для доступа системы управления базами данных (СУБД). Разработчики ODBC стремились сделать его независимым от систем баз данных и операционные системы.[нужна цитата ] Приложение, написанное с использованием ODBC, может быть перенесено на другие платформы, как на стороне клиента, так и на стороне сервера, с небольшими изменениями в коде доступа к данным.

ODBC обеспечивает независимость СУБД с помощью ODBC Водитель как уровень трансляции между приложением и СУБД. Приложение использует функции ODBC через Диспетчер драйверов ODBC с которым он связан, и водитель проходит запрос к СУБД. Драйвер ODBC можно рассматривать как аналог драйвера принтера или другого драйвера, предоставляющий стандартный набор функций для использования приложением и реализующий специфические для СУБД функциональные возможности. Приложение, которое может использовать ODBC, называется «ODBC-совместимым». Любое ODBC-совместимое приложение может получить доступ к любой СУБД, для которой установлен драйвер. Драйверы существуют для всех основных СУБД, многих других источников данных, таких как адресная книга системы и Майкрософт Эксель, и даже для текста или значения, разделенные запятыми (CSV) файлы.

ODBC был первоначально разработан Microsoft и Simba Technologies в начале 1990-х годов и стал основой для Интерфейс уровня вызова (CLI) стандартизован Группа доступа SQL в Unix и мэйнфрейм поле. ODBC сохранил несколько функций, которые были удалены как часть усилий CLI. Полный ODBC позже был перенесен обратно на эти платформы и стал стандарт де-факто значительно лучше, чем CLI. Интерфейс командной строки остается похожим на ODBC, и приложения можно переносить с одной платформы на другую с небольшими изменениями.

История

До ODBC

Введение мэйнфрейм -на основании реляционная база данных в 1970-е годы привели к распространению методов доступа к данным. Обычно эти системы работали вместе с простым командным процессором, который позволял пользователям вводить английские команды и получать выходные данные. Наиболее известные примеры: SQL из IBM и QUEL от Ingres проект. Эти системы могут разрешать, а могут и не разрешать другим приложениям получать прямой доступ к данным, а также те, которые действительно используют самые разные методологии. Вступление к SQL направлен на решение проблемы язык стандартизация, хотя существенные различия в реализации остались.

Поскольку в языке SQL были только элементарные функции программирования, пользователи часто хотели использовать SQL в программе, написанной на другом языке, например Фортран или C. Это привело к концепции Встроенный SQL, что позволило SQL код быть встроенный на другом языке. Например, такой оператор SQL, как ВЫБРАТЬ * ИЗ города может быть вставлен как текст в исходный код C, а во время составление он будет преобразован в настраиваемый формат, который напрямую вызывает функцию внутри библиотека это передало бы оператор в систему SQL. Результаты, возвращенные из операторов, будут интерпретированы обратно в форматы данных C, например символ * используя аналогичный код библиотеки.

Было несколько проблем с подходом Embedded SQL. Как и различные разновидности SQL, встроенные SQL-запросы, в которых они использовались, широко варьировались не только от платформы к платформе, но даже между языками на одной платформе - система, которая позволяла обращаться к IBM с DB2 будет сильно отличаться от того, который вызвал у себя SQL / DS.[сомнительный ] Другая ключевая проблема концепции Embedded SQL заключалась в том, что код SQL можно было изменить только в исходном коде программы, поэтому даже небольшие изменения в запросе требовали значительных усилий программиста для модификации. Рынок SQL назвал это статический SQL, против динамический SQL которые можно было изменить в любое время, например интерфейсы командной строки который поставлялся почти со всеми системами SQL, или программный интерфейс, который оставлял SQL в виде обычного текста до его вызова. Системы динамического SQL стали основным направлением деятельности поставщиков SQL в 1980-х годах.

Старые базы данных мэйнфреймов и более новые микрокомпьютер основанные на них системы, как правило, не имели SQL-подобного командного процессора между пользователем и ядром базы данных. Вместо этого доступ к данным осуществлялся непосредственно программой - программной библиотекой в ​​случае больших систем мэйнфреймов или Интерфейс командной строки или система интерактивных форм в случае dBASE и подобные приложения. Данные из dBASE обычно не могут быть доступны напрямую другим программам, работающим на машине. Этим программам может быть предоставлен способ доступа к этим данным, часто через библиотеки, но он не будет работать с каким-либо другим механизмом базы данных или даже с другими базами данных в том же механизме. Фактически, все такие системы были статичными, что создавало значительные проблемы.

Ранние усилия

К середине 1980-х годов быстрое совершенствование микрокомпьютеров, и особенно введение графический интерфейс пользователя и богатые данными прикладные программы любить Лотос 1-2-3 привело к растущему интересу к использованию персональных компьютеров в качестве предпочтительной клиентской платформы в клиент-сервер вычисление. В рамках этой модели большие мэйнфреймы и миникомпьютеры будет использоваться в первую очередь для обслуживания данных локальные сети к микрокомпьютерам, которые будут интерпретировать, отображать и манипулировать этими данными. Для работы этой модели требовался стандарт доступа к данным - в области мэйнфреймов весьма вероятно, что все компьютеры в магазине принадлежат одному поставщику, а клиенты - компьютерные терминалы разговаривать с ними напрямую, но в микрополе такой стандартизации не было, и любой клиент мог получить доступ к любому серверу, используя любую сетевую систему.

К концу 1980-х годов было предпринято несколько попыток предоставить для этой цели уровень абстракции. Некоторые из них были связаны с мэйнфреймами и были разработаны для того, чтобы программы, работающие на этих машинах, могли выполнять трансляцию между различными SQL и обеспечивать единый общий интерфейс, который затем мог быть вызван другими программами для мэйнфреймов или микрокомпьютеров. Эти решения включают архитектуру распределенных реляционных баз данных IBM (DRDA ) и Компьютер Apple с Язык доступа к данным. Однако гораздо более распространенными были системы, полностью работающие на микрокомпьютерах, в том числе полностью стек протоколов включая любую необходимую поддержку сети или перевода файлов.

Одним из первых примеров такой системы был Лотус Девелопмент с DataLens, первоначально известный как Blueprint. Blueprint, разработанный для 1-2-3, поддерживал различные источники данных, включая SQL / DS, DB2, ФОКУС и множество подобных систем мэйнфреймов, а также микрокомпьютерных систем, таких как dBase и первые усилия Microsoft / Ashton-Tate, которые в конечном итоге превратились в Microsoft SQL Server.[1] В отличие от более позднего ODBC, Blueprint был системой, основанной исключительно на коде, без чего-либо, приближающегося к командному языку, подобному SQL. Вместо этого программисты использовали структуры данных для хранения информации о запросе, построение запроса путем связывания многих из этих структур вместе. Лотус называл эти составные структуры деревья запросов.[2]

Примерно в то же время отраслевая команда, включающая членов из Sybase (Том Хаггин), Тандемные компьютеры (Джим Грей & Rao Yendluri) и Microsoft (Kyle G) работали над стандартизированной концепцией динамического SQL. Большая часть системы была основана на системе Sybase DB-Library с удаленными специфическими для Sybase разделами и несколькими дополнениями для поддержки других платформ.[3] DB-Library способствовал общеотраслевой переход от библиотечных систем, которые были тесно связаны с определенным языком, к библиотечным системам, которые были предоставлены Операционная система и требовал, чтобы языки на этой платформе соответствовали ее стандартам. Это означало, что одну библиотеку можно было использовать (потенциально) с любым языком программирования на данной платформе.

Первый вариант API доступа к данным Microsoft был опубликован в апреле 1989 года, примерно в то же время, что и объявление Lotus о Blueprint.[4] Несмотря на большое преимущество Blueprint - он работал, когда MSDA все еще оставалось бумажным проектом - Lotus в конце концов присоединился к усилиям MSDA, когда стало ясно, что SQL станет стандартом де-факто баз данных.[2] После значительного вклада промышленности летом 1989 года стандарт стал Связь с SQL (SQLC).[5]

SAG и CLI

В 1988 г. несколько поставщиков, в основном из Unix и сообщества баз данных, сформировавшие Группа доступа SQL (SAG) в попытке создать единый базовый стандарт для языка SQL. На первой встрече возникли серьезные споры о том, должны ли усилия работать исключительно на самом языке SQL или пытаться более широкая стандартизация, которая также включала динамическую систему встраивания языка SQL, которую они назвали Интерфейс уровня вызова (CLI).[6] Присутствуя на встрече с ранним черновиком того, что тогда еще называлось MS Data Access, Кайл Гейгер из Microsoft пригласил Джеффа Бальбони и Ларри Барнса из Корпорация цифрового оборудования (DEC), чтобы также присоединиться к собраниям SQLC. SQLC был потенциальным решением для вызова CLI, которым руководила DEC.

Новая «группа из четырех» SQLC, MS, Tandem, DEC и Sybase, представила обновленную версию SQLC на следующей встрече SAG в июне 1990 года.[7] SAG ответил, открыв стандартные усилия для любого конкурирующего дизайна, но из многих предложений только Oracle Corp. была система, которая представляла серьезную конкуренцию. В конце концов, SQLC получил голоса и стал черновиком стандарта, но только после того, как были удалены большие части API - за это время документ стандартов был сокращен со 120 до 50 страниц. Также в этот период было официально принято название Call Level Interface.[7] В 1995 году SQL / CLI стал частью международного стандарта SQL ISO / IEC 9075-3.[8] Сама САГ была передана X / Открыть группа в 1996 году, и со временем стала частью Открытая группа с Общая среда приложений.

MS продолжила работу с исходным стандартом SQLC, сохранив многие расширенные функции, которые были удалены из версии CLI. Эти включенные функции, такие как прокручиваемые курсоры, и метаданные информационные запросы. Команды в API были разделены на группы; Основная группа была идентична интерфейсу командной строки, расширения уровня 1 были командами, которые было бы легко реализовать в драйверах, а команды уровня 2 содержали более продвинутые функции, такие как курсоры. Предлагаемый стандарт был выпущен в декабре 1991 года, и отраслевые данные были собраны и внедрены в систему до 1992 года, что привело к еще одному изменению названия на ODBC.[9]

JET и ODBC

В это время Microsoft занималась разработкой своих Jet система базы данных. Jet объединил три основные подсистемы; ан ISAM ядро базы данных (также называемое Jet, что сбивает с толку), интерфейс на основе C, позволяющий приложениям получать доступ к этим данным, и выбор драйвера библиотеки с динамической компоновкой (DLL), который позволял одному и тому же интерфейсу C перенаправлять ввод и вывод в другие базы данных на основе ISAM, например Парадокс и xBase. Jet позволял использовать один набор вызовов для доступа к общим базам данных микрокомпьютеров аналогично Blueprint, к тому времени переименованному в DataLens. Однако Jet не использовал SQL; как и DataLens, интерфейс был на C и состоял из структуры данных и вызовы функций.

Усилия по стандартизации SAG предоставили Microsoft возможность адаптировать свою систему Jet к новому стандарту CLI. Это не только сделает Windows ведущей платформой для разработки интерфейса командной строки, но также позволит пользователям использовать SQL для доступа как к Jet, так и к другим базам данных. Не хватало анализатора SQL, который мог преобразовывать эти вызовы из их текстовой формы в C-интерфейс, используемый в Jet. Чтобы решить эту проблему, MS объединилась с Программное обеспечение PageAhead использовать существующий обработчик запросов SIMBA. SIMBA использовалась в качестве парсера над библиотекой C Jet, превращая Jet в базу данных SQL. А поскольку Jet мог перенаправлять эти вызовы на основе C в другие базы данных, это также позволяло SIMBA запрашивать другие системы. Microsoft включила драйверы для Excel, чтобы преобразовать свои электронные таблицы в таблицы базы данных, доступные для SQL.[10]

Релиз и продолжение разработки

ODBC 1.0 был выпущен в сентябре 1992 года.[11] В то время было мало прямой поддержки баз данных SQL (по сравнению с ISAM), а ранние драйверы были отмечены низкой производительностью. Отчасти это было неизбежно из-за пути, по которому вызовы проходили через стек на основе Jet; Вызовы ODBC к базам данных SQL сначала были преобразованы из Simba Technologies '' диалект SQL во внутренний формат Jet на основе C, а затем передается драйверу для преобразования обратно в вызовы SQL для базы данных. Цифровое оборудование и Oracle оба заключили контракт Simba Technologies также разработать драйверы для своих баз данных.[12]

Примерно в 1993 году OpenLink Software поставила один из первых независимо разработанных сторонних драйверов ODBC для СУБД ПРОГРЕСС,[13] и вскоре последовал их SDK UDBC (кроссплатформенный эквивалент API ODBC и SAG / CLI) и связанные драйверы для ПРОГРЕСС, Sybase, Oracle и другие СУБД для использования в Unix-подобных ОС (AIX, HP-UX, Солярис, Linux, так далее.), VMS, Windows NT, OS / 2, и другие ОС.[14]

Между тем разработка стандарта CLI затянулась, и только в марте 1995 года окончательная версия была завершена. К тому времени Microsoft уже предоставила Visigenic Программное обеспечение а исходный код лицензия на разработку ODBC на платформах, отличных от Windows. Visigenic перенес ODBC на широкий спектр платформ Unix, где ODBC быстро стал стандартом де-факто.[15] «Настоящий» CLI сегодня - редкость. Эти две системы остаются похожими, и многие приложения могут быть перенесены с ODBC на CLI с небольшими изменениями или без них.[16]

Со временем поставщики баз данных переняли интерфейсы драйверов и предоставили прямые ссылки на свои продукты. Пропуск промежуточных преобразований в Jet или аналогичные оболочки и обратно часто приводил к повышению производительности. Однако к тому времени Microsoft сменила фокус на свои OLE DB[17] концепция (недавно восстановлена [18]), что обеспечивало прямой доступ к большему количеству источников данных из адресные книги в текстовые файлы. За этим последовало несколько новых систем, которые в дальнейшем отвлекли их внимание от ODBC, включая Объекты данных ActiveX (ADO) и ADO.net, которые более или менее взаимодействовали с ODBC в течение своего срока службы.

По мере того, как Microsoft отвлекалась от работы непосредственно над ODBC, область Unix все больше охватывала его. Этому способствовали два изменения на рынке: введение графический пользовательский интерфейс (GUI) вроде ГНОМ что обеспечило необходимость доступа к этим источникам в нетекстовой форме, а также появление открытое программное обеспечение системы баз данных, такие как PostgreSQL и MySQL, изначально под Unix. Более позднее принятие ODBC Apple для использования стандартной стороны Unix iODBC пакет Mac OS X 10.2 (Ягуар)[19] (которое OpenLink Software независимо предоставляло для Mac OS X 10.0 и даже Mac OS 9 с 2001 г.[20]) дальнейшее закрепление ODBC в качестве стандарта для межплатформенного доступа к данным.

Sun Microsystems использовали систему ODBC как основу для собственного открытого стандарта, Подключение к базе данных Java (JDBC). В большинстве случаев JDBC можно рассматривать как версию ODBC для языка программирования. Ява вместо того C. Преобразование JDBC в ODBC мосты позволяют программам на основе Java получать доступ к источникам данных через драйверы ODBC на платформах, на которых отсутствует собственный драйвер JDBC, хотя сейчас это относительно редко. И наоборот, мосты ODBC-JDBC позволяют программам на основе C получать доступ к источникам данных через драйверы JDBC на платформах или из баз данных, в которых отсутствуют подходящие драйверы ODBC.

ODBC сегодня

ODBC по-прежнему широко используется сегодня с драйверами, доступными для большинства платформ и большинства баз данных. Нередко можно найти драйверы ODBC для механизмов баз данных, которые предназначены для встраивания, например SQLite, как способ позволить существующим инструментам выступать в качестве интерфейса для этих движков для тестирования и отладки.[21]

Однако рост Тонкий клиент вычисления с использованием HTML как промежуточный формат снизил потребность в ODBC. Многие платформы веб-разработки содержат прямые ссылки на целевые базы данных - MySQL очень распространен. В этих сценариях нет прямого доступа на стороне клиента или поддержки нескольких клиентских программных систем; все проходит через предоставленное программистом HTML-приложение. Виртуализация, которую предлагает ODBC, больше не является серьезным требованием, и разработка ODBC уже не так активна, как раньше.[нужна цитата ]

История версий

История версий:[22]

  • 1.0: выпущен в сентябре 1992 г.[23]
  • 2.0: c. 1994
  • 2.5
  • 3.0: c. 1995 год: Джон Гудсон из Intersolv, Фрэнк Пеллоу и Пол Коттон из IBM внесли значительный вклад в ODBC 3.0.[24]
  • 3.5: c. 1997
  • 3.8: c. 2009, с Windows 7[25]
  • 4.0: Разработка объявлена ​​в июне 2016 г.[26] с черновик спецификации на Github

Драйверы и менеджеры

Драйверы

ODBC основан на драйвер устройства модель, где драйвер инкапсулирует логику, необходимую для преобразования стандартного набора команд и функций в конкретные вызовы, необходимые для базовой системы. Например, драйвер принтера представляет стандартный набор команд печати, API, для приложений, использующих систему печати. Вызовы этих API-интерфейсов преобразуются драйвером в формат, используемый фактическим оборудованием, например PostScript или PCL.

В случае ODBC драйверы включают в себя множество функций, которые можно разбить на несколько широких категорий. Один набор функций в первую очередь связан с поиском, подключением и отключением от СУБД, с которой общается драйвер. Второй набор используется для отправки команд SQL из системы ODBC в СУБД, преобразования или интерпретации любых команд, которые не поддерживаются внутренне. Например, СУБД, не поддерживающая курсоры может эмулировать эту функциональность в драйвере. Наконец, другой набор команд, в основном используемых внутри компании, используется для преобразования данных из внутренних форматов СУБД в набор стандартизованных форматов ODBC, которые основаны на форматах языка C.

Драйвер ODBC позволяет ODBC-совместимому приложению использовать источник данных, обычно СУБД. Существуют некоторые драйверы, не относящиеся к СУБД, для таких источников данных, как CSV файлы, реализовав небольшую СУБД внутри самого драйвера. Драйверы ODBC существуют для большинства СУБД, включая Oracle, PostgreSQL, MySQL, Microsoft SQL Server (но не для Компактное издание CE ), Sybase ASE, SAP HANA[27][28] и DB2. Поскольку разные технологии имеют разные возможности, большинство драйверов ODBC не реализуют всех функций, определенных в стандарте ODBC. Некоторые драйверы предлагают дополнительные функции, не определенные стандартом.

Диспетчер драйверов

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

В ODBC диспетчер драйверов (DM) предоставляет эти функции.[29] DM может перечислить установленные драйверы и представить их в виде списка, часто в форме графического интерфейса.

Но более важным для работы системы ODBC является концепция DM: Имя источника данных (DSN). DSN собирают дополнительную информацию, необходимую для подключения к конкретный источник данных, а не сама СУБД. Например, тот же MySQL Драйвер можно использовать для подключения к любому серверу MySQL, но информация о подключении для подключения к локальному частному серверу отличается от информации, необходимой для подключения к общедоступному серверу, размещенному в Интернете. DSN хранит эту информацию в стандартизованном формате, а DM предоставляет ее драйверу во время запросов на соединение. DM также включает функциональные возможности для представления списка DSN с использованием удобочитаемых имен и их выбора во время выполнения для подключения к различным ресурсам.

DM также включает возможность сохранять частично полные DSN с кодом и логикой, чтобы запрашивать у пользователя любую недостающую информацию во время выполнения. Например, DSN можно создать без необходимого пароля. Когда приложение ODBC пытается подключиться к СУБД с помощью этого DSN, система приостанавливает работу и просит пользователя ввести пароль перед продолжением. Это освобождает разработчика приложения от необходимости создавать такой код, а также от необходимости знать, какие вопросы задавать. Все это включено в драйвер и DSN.

Конфигурации моста

А мост - это особый тип драйвера: драйвер, использующий другую технологию на основе драйвера.

Мосты ODBC-JDBC (ODBC-JDBC)

Мост ODBC-JDBC состоит из ODBC водитель, который пользуется услугами Драйвер JDBC для подключения к базе данных. Этот драйвер переводит вызовы функций ODBC в вызовы методов JDBC. Программисты обычно используют такой мост, когда у них нет драйвера ODBC для какой-либо базы данных, но есть доступ к драйверу JDBC. Примеры: Мост OpenLink ODBC-JDBC, Мост SequeLink ODBC-JDBC.

Мосты JDBC-ODBC (JDBC-ODBC)

Мост JDBC-ODBC состоит из Драйвер JDBC который использует драйвер ODBC для подключения к целевой базе данных. Этот драйвер переводит JDBC метод вызовы в вызовы функций ODBC. Программисты обычно используют такой мост, когда в данной базе данных отсутствует драйвер JDBC, но она доступна через драйвер ODBC. Sun Microsystems включил один такой мост в JVM, но рассматривал это как временную меру, пока существовало несколько драйверов JDBC (встроенный мост JDBC-ODBC был удален из JVM в Java 8[30]). Sun никогда не предназначала свой мост для производственных сред и в целом не рекомендовала его использовать. По состоянию на 2008 г. Независимые поставщики доступа к данным поставляют мосты JDBC-ODBC, которые поддерживают текущие стандарты для обоих механизмов и намного превосходят встроенную JVM.[нужна цитата ] Примеры: Мост OpenLink JDBC-ODBC, Мост SequeLink JDBC-ODBC.

Мосты OLE DB-ODBC

Мост OLE DB-ODBC состоит из OLE DB Поставщик, который использует службы драйвера ODBC для подключения к целевой базе данных. Этот провайдер переводит OLE DB метод вызовы в вызовы функций ODBC. Программисты обычно используют такой мост, когда в данной базе данных отсутствует поставщик OLE DB, но она доступна через драйвер ODBC. Microsoft поставляет один, MSDASQL.DLL, как часть MDAC комплект компонентов системы вместе с другими драйверами баз данных для упрощения разработки на языках с поддержкой COM (например, Visual Basic ). Третьи стороны также разработали такое программное обеспечение, в частности программное обеспечение OpenLink, чей 64-разрядный поставщик OLE DB для источников данных ODBC заполнил пробел, когда Microsoft изначально не рекомендовала этот мост для своей 64-разрядной ОС.[31] (Позднее Microsoft уступила, и 64-битная Windows, начиная с Windows Server 2008 и Windows Vista с пакетом обновления 1 (SP1) поставляется с 64-разрядной версией MSDASQL.) Примеры: Мост OpenLink OLEDB-ODBC, Мост SequeLink OLEDB-ODBC.

Мосты ADO.NET-ODBC

Мост ADO.NET-ODBC состоит из Провайдер ADO.NET который использует службы драйвера ODBC для подключения к целевой базе данных. Этот провайдер переводит ADO.NET метод вызовы в вызовы функций ODBC. Программисты обычно используют такой мост, когда в данной базе данных отсутствует поставщик ADO.NET, но она доступна через драйвер ODBC. Microsoft поставляет один как часть MDAC комплект компонентов системы вместе с другими драйверами баз данных, чтобы упростить разработку в C #. Третьи стороны тоже разработали такие. Примеры: Мост OpenLink ADO.NET-ODBC, Мост SequeLink ADO.NET-ODBC.

Смотрите также

использованная литература

Список используемой литературы
  • Гейгер, Кайл (1995). Внутри ODBC. Microsoft Press. ISBN  9781556158155.CS1 maint: ref = harv (ссылка на сайт)
Цитаты
  1. ^ МакГлинн, Эван (1988), Blueprint позволяет 1-2-3 получить доступ к внешним данным », InfoWorld, т. 10, вып. 14, 4 апреля 1988 г., стр. 1, 69
  2. ^ а б Гейгер 1995, п. 65.
  3. ^ Гейгер 1995, п. 86-87.
  4. ^ Гейгер 1995, п. 56.
  5. ^ Гейгер 1995, п. 106.
  6. ^ Гейгер 1995, п. 165.
  7. ^ а б Гейгер 1995, п. 186-187.
  8. ^ ISO / IEC 9075-3 - Информационные технологии - Языки баз данных - SQL - Часть 3: Интерфейс уровня вызовов (SQL / CLI)
  9. ^ Гейгер 1995, п. 203.
  10. ^ Хариндранатх, G; Йоже Зупанчич (2001). Новые взгляды на развитие информационных систем: теория, методы, практика. Springer. п. 451. ISBN  978-0-306-47251-0. Получено 2010-07-28. Первые драйверы ODBC […] использовали процессор запросов SIMBA, который переводил вызовы в вызовы Microsoft Jet ISAM и отправлял вызовы соответствующему драйверу ISAM для доступа к бэкэнду […]
  11. ^ "Linux / UNIX ODBC - Что такое ODBC?".
  12. ^ "Наша история", Simba Technologies
  13. ^ Идехен, Кингсли Уи (октябрь 1994 г.). "ODBC и прогресс V7.2d". Базы данных группы новостей Usenet. Получено 13 декабря 2013.
  14. ^ Идехен, Кингсли Уи (1995-07-18). «Нужен драйвер ODBC / Ingres для DEC OSF / 1». Группа новостей Usenet comp.databases.oracle. Получено 13 декабря 2013.
  15. ^ Сиппл, Роджер (1996) "Интерфейс уровня вызовов группы доступа SQL", Доктор Доббс, 1 февраля 1996 г.
  16. ^ «Сходства и различия между ODBC и CLI», Документация InfoSphere Classic, IBM, 26 сентября 2008 г.
  17. ^ [1]
  18. ^ «Объявление о новом выпуске драйвера OLE DB для SQL Server».
  19. ^ Андерсон, Эндрю (20.06.2003). «Открытое подключение к базе данных в Jaguar». O'Reilly MacDevCenter.com. O'Reilly Media, Inc. Получено 13 декабря 2013.
  20. ^ Продавцы, Деннис (17 июля 2001 г.). "Обновление ODBC SDK для Mac OS Classic, Mac OS X". MacWorld. IDG для потребителей и малого и среднего бизнеса. Получено 13 декабря 2013.
  21. ^ Вернер, Кристиан (2018) «Драйвер SQLite ODBC» В архиве 2014-06-26 на Wayback Machine, 2018-02-24
  22. ^ «Версии ODBC». Linux / UNIX ODBC. Easysoft. Получено 2009-10-27.
  23. ^ Антал, Тибериу Александру. «Доступ к базе данных Oracle с помощью JDBC» (PDF). Клуж-Напока: Технический университет Клуж-Напока. п. 2. Архивировано из оригинал (PDF) на 2011-07-22. Получено 2009-10-27. ODBC 1.0 был выпущен в сентябре 1992 г.
  24. ^ Корпорация Майкрософт. Справочник программиста Microsoft ODBC 3.0 и руководство по SDK, том 1. Microsoft Press. Февраль 1997 г. (ISBN  9781572315167)
  25. ^ «Что нового в ODBC 3.8». Microsoft. Получено 2010-01-13. Windows 7 включает обновленную версию ODBC, ODBC 3.8.
  26. ^ Рукмангатан, Кришнакумар (07.06.2016). «Новый выпуск ODBC для современных хранилищ данных». Блог Microsoft Data Access / SQL BI Technologies. Microsoft. Получено 2017-01-03. Спустя более 15 лет с момента последнего выпуска Microsoft рассматривает возможность обновления спецификации Open Data Base Connectivity (ODBC).
  27. ^ «Свойства системы SAP HANA». DB-двигатели. Получено 2016-03-28.
  28. ^ «Подключение к SAP HANA через ODBC - Руководство разработчика SAP HANA для SAP HANA Studio - Библиотека SAP». help.sap.com. Получено 2016-03-28.
  29. ^ Sybase. «Введение в ODBC». infocenter.sybase.com. Sybase. Получено 8 октября 2011.
  30. ^ "Java JDBC API". docs.oracle.com. Получено 18 декабря 2018.
  31. ^ Microsoft, «Дорожная карта технологий доступа к данным», Устаревшие компоненты MDAC, Microsoft «Руководство программиста ADO» Приложение A: Поставщики, поставщик Microsoft OLE DB для ODBC, получено 30 июля 2005 г. В архиве 2001 5 октября в Wayback Machine

внешняя ссылка