ODBC проти ADO
Зазвичай програмні програми записуються на певній мові програмування (наприклад, Java, C # тощо), тоді як бази даних приймають запити на деякій іншій мові бази даних (наприклад, SQL). Тому, коли програмному додатку потрібно отримати доступ до даних у базі даних, потрібен інтерфейс, який може перекладати мови один на одного (додаток і база даних). В іншому випадку програмістам додатків потрібно вивчити та включити мови мовлення баз даних у свої програми. ODBC (Open Database Connectivity) та OLE DB (Об'єднання об'єднань та вбудовування, база даних) - два інтерфейси, які вирішують цю конкретну проблему. ODBC - це незалежний інтерфейс від платформи, мови та операційної системи, який можна використовувати для цієї мети. OLE DB є спадкоємцем ODBC. ADO - обгортка для OLE DB.
Що таке ODBC?
ODBC - це інтерфейс для доступу до систем управління базами даних (СУБД). ODBC був розроблений групою доступу SQL в 1992 році, коли не було стандартного середовища для зв'язку між базою даних та додатком. Це не залежить від конкретної мови програмування або системи баз даних або операційної системи. Програмісти можуть використовувати інтерфейс ODBC для запису програм, які можуть запитувати дані з будь-якої бази даних, незалежно від середовища, на якому він працює, або типу СУБД, який він використовує.
Оскільки драйвер ODBC діє як перекладач між додатком і базою даних, ODBC здатний досягти незалежності мови та платформи. Це означає, що додаток звільняється від тягаря знання мови конкретної бази даних. Натомість він знатиме та використовує лише синтаксис ODBS, і драйвер переведе запит до бази даних мовою, яку він може зрозуміти. Потім результати повертаються у форматі, який можна зрозуміти додатком. API програмного забезпечення ODBC можна використовувати як в реляційних, так і в нереляційних системах баз даних. Ще одна головна перевага наявності ODBC як універсального проміжного програмного забезпечення між додатком та базою даних є те, що кожного разу, коли специфікація бази даних змінюється, програмне забезпечення не потребує оновлення. Буде достатньо лише оновлення драйвера ODBC.
Що таке ADO?
ADO - це сукупність COM (Component Object Mode) об'єктів, які виконують функції інтерфейсу для доступу до даних у джерелах даних. ADO було розроблено в 1996 році корпорацією Майкрософт як частина компонентів Microsoft Access Access Components (MDAC). ADO утворює проміжний рівень між програмами, написаними деякою мовою програмування, та OLE DB (API даних, розроблений Microsoft та спадкоємцем ODBC). Програмісти можуть використовувати ADO для доступу до даних, не знаючи основної деталі реалізації бази даних. Хоча вам не потрібно знати будь-якого SQL для використання ADO, ви, звичайно, можете виконувати операції SQL, використовуючи його.
Чим відрізняється ODBC від ADO?
ODBC - це відкритий інтерфейс, який може використовуватися будь-яким додатком для зв'язку з будь-якою системою баз даних, тоді як ADO - обгортка навколо OLE DB (яка є наступником ODBC). Якщо база даних не підтримує OLE (не OLE-середовища), ODBC є найкращим вибором. Якщо середовище не SQL, то вам доведеться використовувати ADO (оскільки ODBC працює тільки з SQL). Якщо потрібні сумісні компоненти бази даних, то замість ODBC потрібно використовувати ADO. Однак для 16-бітових даних доступ до ODBC є єдиним варіантом (ADO не підтримує 16-бітний). Нарешті, ADO - найкращий вибір для підключення до декількох баз даних одночасно (ODBC може підключатися до однієї бази даних одночасно).