odbc для чего нужен

Программное управление источниками данных 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

Источник

Национальная библиотека им. Н. Э. Баумана
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

Оба продукта являются популярным выбором на рынке.

Источник

Собственно вопрос, каков механизм выполнения запросов к СУБД (например, пусть это будет MySQL) и какова роль в этом механизме таких компонентов, как язык SQL и ODBC? Непонятно вот что, если есть универсальный язык выполнения запросов, который нивелирует различия между СУБД, зачем нужен ещё и универсальный драйвер?

2 ответа 2

SQL это язык запросов. ODBC это способ подключения к конкретному серверу конкретной БД. Все БД имеют разные протоколы для доступа к серверу БД. ODBC предоставляет унифицированный интерфейс и скрывает конкретную реализацию протокола доступа.

Поэтому для работы с СУБД программы линкуются с библиотеками (драйверами) конкретных СУБД, которые умеют общаться с конкретной БД. Драйвер ODBC предназначен для того, что бы программа могла быть слинкована с единственной библиотекой и через нее получать доступ к разным БД, понятно, что при этом программа не сможет получить доступ к не стандартным типам данных и надо будет ограничиваться в работе стандартизированными, боле менее одинаковыми в разных СУБД возможностям языка SQL.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками sql база-данных драйвер odbc или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.12.16.41042

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Назначение ODBC

Назначение ODBC выполняет массовую загрузку данных в таблицы базы данных с поддержкой ODBC. Назначение ODBC использует диспетчер соединений ODBC для подключения к источнику данных.

Назначение ODBC включает сопоставления между входными столбцами и столбцами в источнике данных назначения. Нет необходимости сопоставлять входные столбцы всем целевым столбцам, но в зависимости от свойств целевых столбцов могут возникать ошибки, если не задано сопоставление входных столбцов с целевыми столбцами. Например, если целевой столбец не допускает значений NULL, входной столбец должен быть ему сопоставлен. Кроме того, сопоставлены могут быть столбцы различных типов, однако если входные данные несовместимы по типу с данными в целевом столбце, то во время выполнения возникает ошибка. В зависимости от параметра поведения в случае ошибки, ошибка может быть пропущена, может быть вызван сбой, или строка может быть отправлена в вывод ошибок.

Назначение ODBC имеет один обычный вывод и один вывод ошибок.

Параметры загрузки

Назначение ODBC может использовать один из двух модулей загрузки доступа. Режим задается в редакторе источника «ODBC» (страница «Диспетчер соединений»). Доступны два режима.

Row-by-row. В этом режиме назначение ODBC подготавливает инструкцию INSERT с параметрами и использует задачу Выполнение SQL для вставки строк друг за другом.

Обработка ошибок

Назначение ODBC имеет вывод ошибок. Вывод ошибок компонента включает следующие выходные столбцы.

Код ошибки. Номер, который соответствует текущей ошибке. Список ошибок см. в документации по конкретной базе данных-источнику. Список кодов ошибок служб SSIS см. в «Справочнике по кодам ошибок и сообщениям служб SIS».

Читайте также:  методика обследования подкожно жирового слоя у детей первого года жизни

Столбец с ошибкой. Входной столбец, вызывающий ошибку (это относится к ошибкам преобразования).

Стандартные устройства вывода столбцов данных.

В зависимости от параметра поведения в случае ошибки, назначение ODBC поддерживает возврат ошибок (преобразование данных, усечение), которые обнаруживаются в процессе извлечения в выводе ошибок. Дополнительные сведения см. в разделе Редактор источника «ODBC» (страница «Вывод ошибок»).

Parallelism

Какие-либо ограничения на количество компонентов назначения ODBC, которые могут запускаться параллельно по отношению к одной и той же таблице или к разным таблицам, на одном и том же компьютере или на разных компьютерах (кроме обычных глобальных предельных параметров сеанса), отсутствуют.

Однако количество параллельных соединений через поставщика может быть ограничено в используемом поставщике ODBC. Эти ограничения задают количество параллельных экземпляров, которые могут поддерживаться для назначения ODBC. Разработчик служб SSIS должен знать ограничения всех используемых поставщиков ODBC и учитывать их при построении пакетов служб SSIS.

Необходимо также учитывать, что одновременная загрузка в одну и ту же таблицу может привести к уменьшению производительности из-за стандартной блокировки записей. Это зависит от загружаемых данных и от организации таблицы.

Устранение нарушений в работе назначения ODBC

Предусмотрена возможность вести журнал вызовов к внешним поставщикам данных, выполняемых источником ODBC. Эту возможность ведения журнала можно использовать для устранения нарушений, связанных с сохранением данных во внешних источниках данных, выполняемым назначением ODBC. Для ведения журнала вызовов к внешним поставщикам данных, выполняемых назначением ODBC, включите трассировку диспетчера драйвера ODBC. Дополнительные сведения см. в документации Майкрософт по теме Как формировать трассировку ODBC с помощью администратора источника данных ODBC.

Настройка назначения ODBC

Назначение ODBC можно настраивать программным путем или с помощью конструктора служб SSIS

Дополнительные сведения см. в одном из следующих разделов:

Диалоговое окно Расширенный редактор содержит свойства, которые могут быть заданы программным путем.

Дополнительные сведения о свойствах, которые вы можете задать в диалоговом окне «Расширенный редактор», см. в разделе ODBC Destination Custom Properties.

в этом разделе

Редактор назначения «ODBC» (страница «Диспетчер соединений»)

Страница Диспетчер соединений диалогового окна Редактор назначения ODBC используется для выбора диспетчера соединений ODBC для назначения. На этой странице также можно выбрать таблицу или представление базы данных

Открытие страницы диспетчера соединений в редакторе назначения ODBC

Список задач

На вкладке Поток данных дважды щелкните назначение ODBC.

В окне Редактор назначения ODBC нажмите кнопку Диспетчер соединений.

Параметры

Диспетчер соединений

Выберите из списка существующий диспетчер соединений ODBC или нажмите кнопку «Создать», чтобы создать новое соединение. Соединение может устанавливаться с любой базой данных, поддерживающей ODBC.

Создать

Режим доступа к данным

Выберите метод загрузки данных в назначение. Доступные параметры показаны в следующей таблице.

Параметр Description
Имя таблицы — пакетом Выберите этот параметр, чтобы настроить назначение ODBC для работы в пакетном режиме. Если выбран этот параметр, становятся доступны следующие параметры.
Имя таблицы или представления: выберите доступную таблицу или представление из списка.

Этот список содержит только первые 1000 таблиц. Если база данных содержит больше 1000 таблиц, можно ввести начальную часть имени таблицы или воспользоваться подстановочным знаком (*), чтобы ввести любую часть имени для вывода нужных таблиц.

Размер пакета: введите размер пакета для массовой загрузки. Это количество строк, загружаемых в виде одного пакета.

Имя таблицы — построчно Выберите этот параметр, чтобы настроить назначение ODBC для вставки каждой строки в целевую таблицу по отдельности. Если выбран этот параметр, становится доступен следующий параметр.
Имя таблицы или представления: выберите доступную таблицу или представление базы данных из списка.

Этот список содержит только первые 1000 таблиц. Если база данных содержит больше 1000 таблиц, можно ввести начальную часть имени таблицы или воспользоваться символом-шаблоном (*), чтобы ввести любую часть имени для вывода нужных таблиц.

Preview (Предварительный просмотр)

Редактор назначения ODBC (страница «Сопоставления»)

Страница Сопоставления диалогового окна Редактор назначения ODBC используется для сопоставления входных столбцов с целевыми столбцами.

Параметры

Доступные входные столбцы

Список доступных входных столбцов. Перетащите входной столбец в доступный целевой столбец, чтобы сопоставить эти столбцы.

Доступные целевые столбцы

Список доступных целевых столбцов. Перетащите целевой столбец в доступный входной столбец, чтобы сопоставить эти столбцы.

Входной столбец

Целевой столбец

Просмотрите все доступные целевые столбцы, сопоставленные и несопоставленные.

Редактор назначения «ODBC» (страница «Вывод ошибок»)

Страница Вывод ошибок диалогового окна Редактор назначения ODBC используется для выбора параметров обработки ошибок.

Открытие страницы «Вывод ошибок» редактора назначения ODBC

Список задач

На вкладке Поток данных дважды щелкните назначение ODBC.

В окне Редактор назначения ODBC нажмите кнопку Вывод ошибок.

Параметры

Ввод-вывод

Просмотр имени источника данных.

Столбец

Ошибка

Выберите порядок обработки ошибок в потоке назначением ODBC: пропустить ошибку, перенаправить строку или вызвать сбой компонента.

Усечение

Выберите порядок обработки усечений в потоке назначением ODBC: пропустить ошибку, перенаправить строку или вызвать сбой компонента.

Description

Просмотрите описание ошибки.

Присвоить указанное значение выбранным ячейкам

Выберите, как назначение ODBC обрабатывает все выбранные ячейки при возникновении ошибки или усечения: пропустить ошибку, перенаправить строку или вызвать сбой компонента.

Применить

Примените параметры обработки ошибок к выбранным ячейкам.

Параметры обработки ошибок

Следующие параметры позволяют настроить обработку ошибок и усечений назначением ODBC.

Компонент, завершившийся сбоем

Задача потока данных заканчивается сбоем, если возникли ошибка или усечение. Это поведение по умолчанию.

Пропуск неудачи

Ошибка или усечение пропускается.

Перенаправление потока

Строка, вызывающая ошибку или усечение, направляется на вывод ошибок назначения ODBC. Дополнительные сведения см. в разделе, посвященном назначению 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 не является разнородным механизмом соединения и не является обработчиком распределенных транзакций. Однако, поскольку он не зависит от СУБД, он может использоваться для создания таких межбазовых инструментов.

Источник

Читайте также:  Уролесан капсулы или таблетки что лучше
Обучающий онлайн портал