Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование БД.docx
Скачиваний:
74
Добавлен:
08.03.2016
Размер:
712.24 Кб
Скачать
    1. Интерфейсы программирования приложений бд (api)

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

Описание подхода.Наряду с описанным выше механизмом существует и активно применяется еще один подход, связанный с наличием специальных интерфейсов – API для связи прикладной программы с СУБД (application programming interface – интерфейс программирования приложений ). Эти API (далее –SQL API) представляют собой библиотеки функций, разработанные для обеспечения связи прикладной программы с СУБД посредством выполнения SQL-запросов. Прикладная программа вызывает специальные функции библиотеки для передачи в СУБД SQL-запроса в текстовом виде и для получения результатов выполнения запросов, а также различные служебные функции.

Достоинства подхода.ИспользованиеSQL API, вообще говоря, является широко используемым и стандартным подходом, поэтому для специалистов этот подход является вполне привычным. Программа, содержащая вызовы некоторых функцийAPI, ничем не отличается по схеме компиляции и выполнения от обычной программы. Так, подобная программа не требует применения специализированного препроцессора.

Существует множество библиотек, предоставляющие возможности SQL API. Принципы работы разных библиотек, как правило, аналогичны. Схема работы приложения совместно сSQLAPIвыглядит следующим образом:

  1. программа получает доступ к БД путем вызова одной или нескольких API-функций, подключающих программу к СУБД и к конкретной БД;

  2. для пересылки инструкций SQL в СУБД программа формирует инструкцию в виде текстовой строки и затем передает эту строку в качестве параметра при вызове API-функции;

  3. программа вызывает выполнение API-функции для проверки состояния переданной в СУБД инструкции и обработки ошибок;

  4. если инструкция SQL представляет собой запрос на выборку, то, вызывая API-функции, программа записывает результаты запроса в свои переменные; обычно за один вызов возвращается одна строка или столбец данных;

  5. свое обращение к базе данных программа заканчивает вызовом API-функции, отключающей ее от СУБД.

Из имеющихся для реализации SQL-запросов интерфейсов API на настоящий момент выделилось несколько распространенных библиотек:

  • DB-Library– служит для совместной работы сMicrosoftSQLServer;

  • ODBC(OpenDatabaseConnectivity) – служит для доступа к различным БД;

  • OCI (Oracle Call Interface) – для доступа к БД Oracle;

  • JDBC(JavaDataBaseConnectivity) – платформенно-независимый промышленный стандарт взаимодействияJava-приложений с различными СУБД

  • и т.д.

Далее будем рассматривать ODBCкак один из самых распространенных интерфейсов.