База данных odbc что это
ODBC и стандартная инфраструктура CLI
ODBC соответствует следующим спецификациям и стандартам, которые работают с интерфейсом Call-Level (CLI). (Функции ODBC являются надмножеством каждого из этих стандартов.)
спецификация Open Group автоматизированного конструирования «Управление данными: SQL Call-Level Interface (CLI)»
Call-Level интерфейс ISO/IEC 9075-3:1995 (E) (SQL/cli)
В результате такого выравнивания выполняются следующие условия.
Базовый уровень соответствия интерфейсов включает все функции интерфейса командной строки ISO и все функции, не являющиеся вариантами, в открытой группе CLI. Дополнительные возможности открытой группы CLI отображаются в более высоком уровне соответствия интерфейсов. Поскольку все драйверы ODBC 3. x необходимы для поддержки функций базового уровня соответствия интерфейсов, выполняются следующие условия.
Драйвер ODBC 3. x будет поддерживать все функции, используемые в стандартном приложении.
В дополнение к спецификациям интерфейса уровня вызова, содержащимся в стандартах ISO/IEC и Open Group CLI, в ODBC реализованы следующие функции. (Некоторые из этих функций существовали в версиях ODBC, предшествующих ODBC 3. x.)
Многострочные извлекает с помощью одного вызова функции
Привязка к массиву параметров
Поддержка закладок, включая выборку с помощью закладок, закладок с переменной длиной, а также выполнение операций по закладкам для несмежных строк
Привязка на уровне строки
Точные или приблизительные счетчики строк курсора
Позиционированные операции обновления и удаления, пакетные обновления и удаления по вызову функции (SQLSetPos)
Функции каталога, которые извлекают сведения из информационной схемы без необходимости поддержки представлений информационной схемы
Escape-последовательности для внешних соединений, скалярных функций, литералов DateTime, интервалов времени и хранимых процедур
Библиотеки преобразования кодовых страниц
отчетность об уровне ANSI-соответствия и поддержке SQL в драйвере
Автоматическое заполнение дескриптора параметра реализации по запросу
Улучшенные массивы состояния диагностики и строк и параметров
Типы даты и времени, интервал, числовой/десятичный и 64-разрядный буфер приложения с целочисленными значениями
Поддержка хранимых процедур, включая escape-последовательности, механизмы привязки выходных параметров и функции каталога
Улучшения подключений, включая поддержку атрибутов подключения и обзора атрибутов
Программное управление источниками данных 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?
В мире вычислений есть множество непонятных концепций 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
Open Database Connectivity (ODBC) — это протокол, используемый для подключения базы данных Microsoft Access к внешнему источнику данных, например Microsoft SQL Server. В этой статье содержатся общие сведения об источниках данных ODBC, способах их создания и подключения к ним с помощью Microsoft Access. Действия, которые требуется выполнить, зависят от используемых баз данных и драйверов ODBC.
В этой статье
Сведения об источниках данных ODBC
Источник данных — это источник, который содержит данные и сведения о подключении, необходимые для доступа к этим данным. Источником данных может быть сервер SQL Server, реляционная СУБД Oracle, электронная таблица или текстовый файл. Сведения о подключении могут включать расположение сервера, имя базы данных, идентификатор входа, пароль и различные параметры драйвера ODBC, описывающие способ подключения к источнику данных. Эти сведения можно получить у администратора базы данных, к которой нужно подключиться.
В архитектуре ODBC приложения (такие как Access) подключаются к диспетчеру драйверов ODBC, который, в свою очередь, использует конкретный драйвер ODBC (например, Microsoft SQL ODBC) для подключения к источнику данных. В Access источники данных ODBC используются для подключения к внешним источникам данных, у которых нет встроенных драйверов.
Чтобы подключиться к такому источнику данных, выполните указанные ниже действия.
Установите соответствующий драйвер ODBC на компьютере с источником данных.
Определите имя источника данных (DSN) с помощью программы Администратор источников данных ODBC, чтобы сохранить сведения о подключении в реестре Microsoft Windows или DSN-файле, либо с помощью строки подключения в коде Visual Basic, чтобы передать сведения о подключении непосредственно диспетчеру драйверов ODBC.
Машинные источники данных
Машинные источники данных хранят сведения о подстройке в реестре Windows на конкретном компьютере. Машинные источники данных можно использовать только на том компьютере, на который они были определены. Существует два типа машинных источников данных — пользовательские и системные. Источники данных пользователя могут использоваться только текущим пользователем и видны только этому пользователю. Источники данных в системе могут использоваться всеми пользователями на компьютере и видны всем пользователям на компьютере и в службах в масштабе системы. Машинный источник данных особенно полезен, если требуется обеспечить дополнительные сведения о безопасности, так как просматривать его могут только пользователи, которые вошли в систему, и его невозможно скопировать удаленным пользователем на другой компьютер.
Файловые источники данных
Файловые источники данных (также называемые DSN-файлами) хранят сведения о подключении в текстовых файлах, а не в реестре Windows, и, как правило, более гибки в использовании, чем машинные источники данных. Например, файловый источник данных можно скопировать на любой компьютер с подходящим драйвером ODBC, чтобы обеспечить в приложении точность и согласованность сведений о подключении ко всем используемым компьютерам. Кроме того, можно поместить файловый источник данных на отдельный сервер, сделать его общим для нескольких компьютеров в сети и легко управлять централизованными сведениями о подключении.
Некоторые файловые источники данных нельзя сделать общими. Такие источники располагаются на отдельном компьютере и указывают на машинный источник данных. Их можно применять для доступа к существующим машинным источникам данных из файловых источников данных.
Строки подключения
В модуле можно определить отформатированную строку подключения, которая определяет сведения о подключении. Строка подключения передает сведения о подключении непосредственно диспетчеру драйверов ODBC и упрощает приложение, убирая требования к созданию DSN системным администратором или пользователем перед использованием базы данных.
Дополнительные сведения об интерфейсе ODBC см. в разделе MSDN Справочник программиста по ODBC.
Добавление источника данных ODBC
Прежде чем продолжить, установите подходящий драйвер ODBC для источника данных, к которому нужно подключиться.
Примечание: Для добавления или настройки источника данных ODBC необходимо входить в группу администраторов локального компьютера.
Нажмите кнопку Пуск и выберите пункт Панель управления.
На панели управления дважды щелкните элемент Администрирование.
В диалоговом окне «Администрирование» дважды щелкните элемент Источники данных (ODBC).
Откроется диалоговое окно Администратор источников данных ODBC.
Откройте вкладку Пользовательский DSN, Системный DSN или Файловый DSN в зависимости от типа источника данных, который нужно добавить. Дополнительные сведения см. в разделе Сведения об источниках данных ODBC.
Нажмите кнопку Добавить.
Выберите драйвер, который нужно использовать, и нажмите кнопку Готово или Далее.
Если необходимого драйвера нет в списке, обратитесь к администратору базы данных, к которой нужно подключиться, и узнайте, как получить этот драйвер.
Следуйте указаниям и введите требуемые сведения о подключении в последующих диалоговых окнах.
Для получения дополнительных сведений об отдельных параметрах нажмите кнопку Справка в диалоговом окне ODBC.
Национальная библиотека им. Н. Э. Баумана
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
Оба продукта являются популярным выбором на рынке.