Odbc что это за программа
Что такое ODBC?
В мире вычислений есть множество непонятных концепций ODBC. для конечного пользователя это значок на панели управления Microsoft® Windows®. Для программиста приложения это библиотека, содержащая подпрограммы доступа к данным. Ко многим другим, это ответ на все возможные проблемы доступа к базе данных.
Первая и самое главное, ODBC является спецификацией для API базы данных. Этот API не зависит ни от одной СУБД или операционной системы; Хотя в этом руководстве используется C, API ODBC не зависит от языка. API ODBC основан на спецификациях CLI из Open Group и ISO/IEC. ODBC 3. x полностью реализует обе эти спецификации — более ранние версии ODBC были основаны на предварительных версиях этих спецификаций, но не полностью реализовали их, и добавляет функции, которые часто требуются разработчикам приложений баз данных на основе экранов, таких как прокручиваемые курсоры.
Функции API ODBC реализуются разработчиками драйверов, связанных с СУБД. Приложения вызывают эти функции в этих драйверах для доступа к данным независимо от СУБД. Диспетчер драйверов управляет взаимодействием между приложениями и драйверами.
несмотря на то, что корпорация майкрософт предоставляет диспетчер драйверов для компьютеров под управлением Microsoft Windows® 95 и более поздних версий, написал несколько драйверов odbc и вызывает функции odbc из некоторых приложений, каждый может писать приложения и драйверы odbc. На самом деле, большинство приложений и драйверов ODBC, доступных сегодня, написаны компаниями, отличными от Майкрософт. более того, драйверы и приложения ODBC существуют на® Macintosh и различных UNIXных платформах.
чтобы помочь разработчикам приложений и драйверов, корпорация майкрософт предлагает пакет средств разработки программного обеспечения ODBC (SDK) для компьютеров под управлением Windows 95 и более поздних версий, которые предоставляют диспетчер драйверов, библиотеку DLL установщика, средства тестирования и примеры приложений. корпорация майкрософт разработала с программным обеспечением висиженик, чтобы перенести эти пакеты sdk на Macintosh и различные платформы UNIX.
Важно понимать, что ODBC предназначен для предоставления возможностей баз данных, а не дополнять их. Таким образом, средства записи приложений не должны предполагать, что использование ODBC приведет к внезапному преобразованию простой базы данных в полнофункциональное ядро реляционной базы данных. И не являются модулями записи драйвера для реализации функциональности, не найденной в базовой базе данных. исключением является то, что разработчики, создающие драйверы, которые напрямую обращаются к данным файлов (например, к данным в файле Xbase), необходимы для создания ядра субд, поддерживающего по крайней мере минимальную функциональность SQL. еще одно исключение заключается в том, что компонент ODBC Windows SDK, который ранее включался в пакет SDK для компонентов доступа к данным (MDAC), предоставляет библиотеку курсоров, которая имитирует прокручиваемые курсоры для драйверов, реализующих определенный уровень функциональности.
Приложения, использующие ODBC, отвечают за любые функции межбазовых баз данных. Например, ODBC не является разнородным механизмом соединения и не является обработчиком распределенных транзакций. Однако, поскольку он не зависит от СУБД, он может использоваться для создания таких межбазовых инструментов.
Odbc что это за программа
  Это первая «консультация» из целой серии, которая имеет дело с базами данных, программируемых в win32asm. Программирование баз данных становится всё более актуально в современном мире. В настоящее время существует множество различных форматов баз данных. Если мы желаем изучить файловый формат баз данных, чтобы программировать их используя win32asm, то нам необходимо множество времени и желания.
  К счастью, Микрософт имеет технологию, которая значительно помогает нам в этом отношении. Она называется ODBC, что означает Open Database Connectivity, т.е. представляет собой спецификацию интерфейса для доступа к базам данных различных форматов. По сути, это некий интерфейс API, такой же как и Windows API, который имеет дело с программированием баз данных. То есть, с возможностями ODBC API, нам открывается сравнительно лёгкий путь для доступа к целому ряду баз данных.
  Центральным компонентом является менеджер ODBC. Вы можете понимать под этим термином некого мастера управляющего работой ODBC. Вы сообщаете ему, что вы хотите сделать и он передаёт ваше желание своим рабочим (драйверам ODBC) которые и выполняют эту работу. Если рабочие имеют некоторые сообщения для вас, они сообщают об этом мастеру (менеджеру ODBC) и он передает сообщения вам.
  Согласно этой модели, вы не работаете непосредственно с драйверами баз данных. Все действия по управлению драйверами ODBC осуществляет менеджер, его задачей является трансляция ваших желаний в реальность. Каждый драйвер ODBC знает всё о базе данных для которой он был разработан. Таким образом каждый компонент делает все возможное, чтобы упростить работу.
Ваша программа ODBC менеджер ODBC Драйвера Базы Данных
  Менеджер ODBC поставляется Микрософт. Проверьте вашу Панель Управления. Если ваша машина имеет правильно установленный ODBC, то вы найдете Источник Данных ODBC (ODBC Data Sources) здесь. Что касается драйверов ODBC, то Микрософт поставляет их с продуктами, и вы можете всегда получить новые драйвера ODBC от поставщиков баз данных. Устанавливая новые драйверы ODBC, мы даём возможность нашей машине использовать новые базы данных, о которых она не знала прежде.
  Мы узнаем как выполнять каждый шаг приведённый выше на следубщих уроках. © Iczelion, пер. SheSan
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
ODBC (Open Database Connectivity)
Содержание
Архитектура
Рисунок 1 – Архитектура ODBC
На рисунке 1 можно увидеть архитектуру ODBC.
Приложения
Приложения — это программа, которая вызывает API ODBC для доступа к данным. Большинство приложений делятся на три категории [Источник 3] :
Универсальные приложения
Универсальные приложения предназначены для работы с множеством разных СУБД. Примеры включают электронную таблицу или пакет статистики, который использует ODBC для импорта данных дальнейшего анализа и текстовый процессор, который использует ODBC для получения списка рассылки из базы данных.
Вертикальные приложения
Вертикальные приложения выполняют один тип задачи, например, ввод заказов или отслеживание производственных данных и работать со схемой БД, контролируемый разработчиком приложения. Для конкретного клиента приложение работает с одной СУБД. Например, малое предприятие может использовать приложение с dBase, хотя большая организация может использовать его с Oracle.
Приложение использует ODBC таким образом, что приложение не привязано к любой из СУБД, несмотря на то, что он может быть привязан к ограниченному числу СУБД, которые предоставляют аналогичные функциональные возможности. Таким образом, разработчик приложения может продавать приложение независимо от СУБД. Вертикальные приложения совместимы при разработке, но иногда модифицируются, чтобы включить несовместимый код, когда клиент выбрал СУБД.
Пользовательские приложения
Пользовательские приложения используются для выполнения определенных задач в одной компании. Например, приложение в крупной компании может собирать данные о продажах с нескольких подразделений (каждый из которых использует различные СУБД) и создать единый отчет. ODBC используется в том случае, когда он представляет собой общий интерфейс и предотвращает программистов от необходимости обучения нескольким интерфейсам. Такие приложения обычно не являются функционально совместимыми и записываются в определенном СУБД и драйверов.
Число задач является общим для всех приложений, независимо от того, как они используют ODBC. В общем, они во многом определяют поток любого приложения ODBC. Например:
Диспетчер драйверов
Диспетчер драйверов существует главным образом для удобства программистов и решает ряд общих проблем для всех приложений. К ним относятся определения, какой драйвер следует загрузить на основании имени источника данных, загрузка и выгрузка драйверов и вызов функций в драйверах.
Драйвера
Задачи драйвера
Определенные задачи, выполняемые драйверами включают:
Архитектура драйвера
Файловый драйвер
Драйвер обращается к физическими данными напрямую. В этом случае драйвер выступает в качестве драйвера и источника данных, то есть он обрабатывает вызовы ODBC и инструкции SQL. Например, драйверы dBase являются файловыми драйверами, поскольку dBase не предоставляет автономный механизм базы данных, который драйвер может использовать. Разработчики файловых драйверов должны создавать свои собственные механизмы баз данных.
СУБД драйверы
ODBC и JDBC
Оба продукта являются популярным выбором на рынке.
Программное управление источниками данных ODBC
Введение
Почему ODBC?
Фнукции, с которыми нам придется работать
Естественно, я не буду рассказывать обо всех функциях, с помощью которых можно сделать с ODBC все, что угодно. Поверьте, их очень много. Нам же для нашей практической задачи достаточно будет всего четырех:
1. Функция SQLDataSources возвращает список всех источников данных ODBC.
2. Функция SQLConfigDataSources добавляет, изменяет или удаляет указанный источник данных.
Приведем несколько примеров строки атрибутов, чтобы вам было понятно, что это такое:
Каждый драйвер «понимает» свои ключевые слова, чаще всего применяются:
Для баз данных Microsoft Access для указания имени БД вместо DATABASE используется ключевое слово DBQ.
3. Функция SQLAllocEnv создает новый хэндл для использования в других функциях и инициализирует интерфейс для работы с ODBC
4. Функция SQLFreeEnv удаляет заданный хэндл и освобождает всю память, ассоциированную с ним.
Исходный код
в начало вашего файла. Реализация функций, описанных в этих файлах, находится в нескольких DLL, лежащих в каталоге Windows\System (или WinNT\System32). В наших примерах будут использоваться две такие DLL, а именно odbc32.dll и odbccp32.dll. Чтобы подключить их к проекту, нужно проделать следующие шаги:
1. Запускаем любой досовский файл-менеджер или командную строку Windows и переходим в каталог Windows\System (WinNT\System32) и находим эти две библиотеки.
2. Если каталог BIN С++Builder’а прописан в переменной окружения PATH, просто набираем
иначе набираем полностью путь к файлу implib.exe, либо копируем его в каталог, прописанный в PATH.
3. То же самое проделываем с odbccp32.dll:
5. Из меню Project выбираем пункт Add to Project. и поочередно добавляем odbc32.lib и odbccp32.lib.
Все, теперь система сама загрузит эти DLL во время запуска программы.
Пример 1: Получаем список уже созданных источников данных ODBC.
то мы проверим, сможет ли наша программа работать нормально.
Пример 2: Создаем новый источник данных.
Важное замечание: При создании DSN если такое имя уже есть, то не возвращается ошибка, а создается DSN с текущими параметрами.
Пример 3: Как все это собрать воедино и использовать в программе
2. В конструкторе основной формы прописываем код примера №1, вставляя на место комментария следующий код:
3. Функция NewDSN() полностью повторяет код примера №2.
Теперь при первом запуске программы будет создан источник данных ODBC Microsoft Access с именем c2a, ссылающийся на файл db1.mdb, лежащий в том же каталоге, что и программа.
4. На всякий непредвиденный случай (если вы переместили программу в другой каталог, поменялась буква диска или сетевое имя, где лежит база данных) можно в программе предусмотреть немедленное перезаписывание DSN по горячей клавише, что-то типа такого:
Здесь для перезаписи DSN используется комбинация Alt-Ctrl-F1
Справочник по программированию для ODBC программиста’s
Справочник программиста по ODBC содержит следующие разделы.
новые возможности в odbc 3,8 перечислены новые функции odbc, добавленные в Windows 8 SDK.
Пример программы ODBC представляет собой пример программы ODBC.
введение в ODBC предоставляет краткий журнал язык SQL и odbc, а также основные сведения об интерфейсе odbc.
Разработка приложений содержит сведения о разработке приложений, использующих интерфейс ODBC и драйверы, реализующие его.
Установка и настройка программного обеспечения ODBC предоставляет сведения об установке и Справочнике по функциям DLL программы установки.
Разработка драйвера ODBC содержит сведения о записи драйвера.
Справочник по API содержит синтаксические и семантические сведения для всех функций ODBC.
в состав приложений odbc входят технические сведения и справочные таблицы по кодам ошибок ODBC, типам данных и SQL грамматике.
Работа с документацией по ODBC
Интерфейс ODBC предназначен для использования с языком программирования C. Использование интерфейса ODBC охватывает три области: инструкции SQL, вызовы функций ODBC и программирование на языке C. В этой документации предполагается следующее:
Опыт работы с языком программирования C.
Общие знания СУБД и знакомство с SQL.
Используются следующие типографские соглашения.
Сведения о примерах кода
Примеры кода в этом руководством предназначены только для иллюстрации. Поскольку они написаны в основном для демонстрации принципов ODBC, эффективность иногда задается в процентах ясности. Кроме того, для ясности иногда опущены целые фрагменты кода. к ним относятся определения функций, не относящихся к ODBC (функции, имена которых не начинаются с «SQL») и большинство операций обработки ошибок.
Во всех примерах кода используются строки ANSI и одна и та же схема базы данных, которая показана в начале функций каталога.
Рекомендуем прочесть
для получения дополнительных сведений о SQL доступны следующие стандарты.
язык базы данных — SQL с улучшенной целостностью, ansi, 1989 ansi x 3.135-1989.
язык базы данных — SQL: ANSI X3H2 и ISO/IEC JTC1/SC21/WG3 9075:1992 (SQL-92).
открыть группу, Управление данными: язык SQL (SQL), версия 2 (открытая группа, 1996).
помимо стандартов и руководств, связанных с SQL поставщиков, многие книги описывают SQL, включая:
дата, C. J., с дарвен, хью: руководство по стандарту SQL (Addison-Wesley, 1993).
Emerson, сандра L., дарновски, марси и бовман, жудис S.: практические SQL справочника (Addison-Wesley, 1989).
грофф, джеймс R. и веинберг, пол N.: использование SQL (осборне мкграв-хилл, 1990).
грубер, мартен: основные сведения о SQL (Sybex, 1990).
хурсч, гнездо L. и каролин J.: SQL, язык SQL (вкладки, 1988).
мелтон, джим и Simon, алан R.: основные сведения о новом SQL: полное руководство (Morgan кауфманн publishers, 1993).
Pascal, фабиан: SQL и реляционные основы (книги M & T, 1990).
тримбле, J. харви, Jr. и Chappell, дэвид: визуальное введение в SQL (Wiley, 1989).
Van локальных сетей der, рик F.: введение в SQL (Addison-Wesley, 1988).
ванг, сорен: SQL и реляционные базы данных (книги по микротенденциям, 1990).
виескас, джон: краткое справочное руководство для SQL (Microsoft Corp., 1989).
Дополнительные сведения об обработке транзакций см. в следующих статьях:
Серый, J. N. и Реутер, Андреас: обработка транзакций: основные понятия и методики (Morgan Кауфманн Publishers, 1993).
хаккасорн, роман D.: Enterprise подключение к базе данных (Wiley & сыновьями, 1993).
Дополнительные сведения о Call-Level интерфейсах доступны в следующих стандартах:
открытая группа, Управление данными: SQL интерфейс интерфейса (CLI), C451 (открытая группа, 1995).
ISO/IEC 9075-3:1995, Call-Level интерфейс (SQL/cli).
Дополнительные сведения о ODBC доступны в нескольких книгах, включая:
Гейгера, Кайл: внутри ODBC (Microsoft Press®, 1995).
Грифон, Роберт, Чарпентиер, лук, Оелсчлажер, Jon, Шоемакер, Эндрю, Cross, Джим и Лиллэй, Альберт W.: Использование ODBC 2 (Que, 1994).
Джонстон, Tom и Осборне, Марк: руководство для разработчиков ODBC (Говард W. Sams & Company, 1994).
север, кен: Windows программирование нескольких субд: использование C++, Visual Basic, ODBC, OLE 2 и инструментов для проектов субд (джон Wiley & сыновьями, Inc., 1995).
Стегмэн, Майкл O., Сигноре, Роберт и Владимир, Джон: решение ODBC, открытие подключения к базе данных в распределенных средах (Мкграв-хилл, 1995).
Уэлч, Кит: Использование ODBC 2 (Que, 1994).
Вхитинг, Билл: Самостоятельное изучение ODBC в Twenty-One днях (Говард W. Sams & Company, 1994).