Рейтинг 1 - 12. Протокол ODBC та його реалізації
3.3.2. Протокол ODBC та його реалізації
Інтерфейс прикладного програмування ODBC API надає загальні методи доступу на основі мови баз даних SQL як до реляційних, так і до нереляційних (ISAM) джерел даних.
Найбільш сучасний стандарт ANSI SQL (фактично, це частина стандарту SQL-3, що розробляється) включає специфікацію інтерфейсу на рівні викликів(CLI - Call-Level Interface),на яку спирається ODBC для забезпечення доступу і роботи з даними у багатьох системах управління базами даних Інтерфейс CLI відповідає вимогам, встановленим у 1996 році комітетом SQL Access Group та визначальним загальний синтаксис SQL та інтерфейсу API. Мати загальний метод доступу до джерел даних зручно тому, що база даних на сервері стає прозорою для додатків, які написані відповідно до специфікованого рівня сумісності ODBC.
Однорівневі драйвери призначені для використання при роботі з джерелами даних, які не можуть бути прямо оброблені з використанням ANSI SQL. Зазвичай це локальні бази даних персональних комп'ютерах, такі як dBase, Paradox, FoxPro і Excel. Драйвери, що відповідають цим баз даних, роблять компіляцію ANSI SQL в набори інструкцій нижчого рівня, які безпосередньо обробляють складові бази даних файли.
Багаторівневі драйвери використовують сервер РСУБД для обробки SQL-пропозицій та призначені для роботи в середовищі клієнт-сервер. Крім обробки ANSI SQL, вони також можуть підтримувати власні конструкції конкретної РСУБД, оскільки ODBC може без трансляції передавати SQL-оператори джерелам даних (механізм "passthrough"). Драйвери ODBC для баз даних, що підтримуються в технології клієнт-сервер реалізовані для Oracle V 6.0 таOracle V 7, а також Informix, Microsoft та Sybase SQL Server, Rdb, DB2, Ingres, HP/Image та An SQL. Драйвери можна придбати у фірмах Microsoft, Intersolv, Visigenic та Openlink, причому тільки Microsoft і Intersolv випускають і 32-х, і 16-розрядні драйвери.
Існує 4 важливі етапи (кроку) процедури запиту даних через ODBC API.
Крок 1- встановлення з'єднання. Перший крок полягає у розміщенні покажчиків (handle) середовища ODBC, які виділяють оперативну пам'ять під ODBC драйвери та бібліотеки. Потім відбувається виділення пам'яті покажчиків з'єднання, і з'єднання встановлюється.
Крок 2- виконання оператора SQL. Виділяється покажчик оператора, локальні змінні зв'язуються зі стовпцями в SQL-вираженні (це необов'язкова дія), і вираз представляється головному ODBC-драйверу для обробки.
Крок 4- звільнення ресурсів. Після того, як дані отримані, ресурси звільняються шляхом виклику функцій звільнення покажчиків оператора, з'єднання та середовища. Вказівники оператора та з'єднання можуть бути використані в процесі обробки.
Технологія ODBC розроблялася як загальний, незалежний джерел даних, спосіб доступу до даних. Застосування технології мало забезпечити переносимість додатків у середу різних баз даних без потреби переробки самих додатків. У цьому сенсі технологія ODBC вже стала промисловим стандартом, її підтримують практично всі виробники СУБД та засобів розробки.
Однак універсальність коштує дорого. Якщо розробки додатків однією з основних критеріїв є переносимість різні СУБД, то використання ODBC є виправданим. Для збільшення продуктивності та ефективності програми активно застосовують специфічні дляданої СУБД розширення мови SQL, використовують процедури і функції, що зберігаються на сервері. І тут втрачається роль ODBC як загального методу доступу до даних. Тим більше що для різних СУБД драйвери ODBC підтримують різні рівні сумісності. Тому багато виробників засобів розробки, крім підтримки ODBC, постачають "прямі" драйвери до основних СУБД.