Страница 12 из 17 Общий обзор ODBC ODBC - Open Database Connectivity это интерфейс доступа к базам данных в среде Windows. Для доступа используются специальные драйвера подобно тому как используются драйвера принтера. Какую бы внутри сложно не был устроен принтер команды обращения к нему и печати одинаковы и каждая программа может печатать на принтере. Разработчик любой базы данных может создать свой драйвер ODBC. ODBC реализует интерфейс доступа к разным SQL совместимым базам данных. Клиент | ODBC | Диспечер драйверов ODCB | драйвер БД | БД
Идея заключается в том, что приложение может получать доступ к совершенно разным базам данных не меняя при этом код. Вот в чем преимущества ODBC: API функции одинаковые и не зависят от поставщика SQL операторы могут быть сгенерированы на любой стадии при компиляции или выполнении. Данные принимаются в программу в едином формате. Для работы с источниками данных используют имена DNS - Data Source Name - именованный источник данных ODBC. Диспетчер использует информацию связанную с именем для доступа к БД. С именем связана следующая информация: - Местонахождение
- Тип драйвера
- Другие обязательные параметры
Существует три типа имен DNS: - Пользовательский
- Системный
- Файловый
В первом случае информация хранится в реестре Windows и привязана к конкретному пользователю, во втором случае к конкретному компьютеру и каждый пользователь имеет доступ, в последнем случае инфомация хранится в файле, что облегчает перенос проекта с компьютера на компьютер. Драйвера могут поддерживать три уровня грамматики SQL минимальная грамматика поддерживается всеми драйверами: - Минимальная - Create Table, Drop Dtable Select, Insert,Update Dearch, Delete Search Char,VarChar или Long VarChar
- Основная - Минимальная + Alter Table, Create Index, Drop Index, Create View, DropView, Grant, Revoke Select (полная) Decimal,Numeric,SmallInt,Integer,Real,Float,Double Precision
- Расширенная - Основная + внешние соединения, поддержка позицирования, Bit,TinyInt, BigInt, Binary, VarVariant, Long, VarBinary, Date, Time, TimeStamp пакетные операторы SQL, вызов процедур
|