Софт-Портал

Odbc что это

Рейтинг: 4.3/5.0 (449 проголосовавших)

Категория: Windows

Описание

Odbc что это

ODBC (англ.   Open Database Connectivity ) — это программный интерфейс (API ) доступа к базам данных. разработанный фирмой Microsoft. в сотрудничестве с Simba Technologies на основе спецификаций Call Level Interface (CLI), который разрабатывался [1] организациями SQL Access Group. X/Open и Microsoft. Впоследствии CLI был стандартизован ISO [2]. Стандарт CLI призван унифицировать программное взаимодействие с СУБД. сделать его независимым от поставщика СУБД и программно-аппаратной платформы.

В начале 1990 г. существовало несколько поставщиков баз данных, каждый из которых имел собственный интерфейс. Если приложению было необходимо общаться с несколькими источниками данных, для взаимодействия с каждой из баз данных было необходимо написать свой код. Для решения возникшей проблемы Microsoft и ряд других компаний создали стандартный интерфейс для получения и отправки источникам данных различных типов. Этот интерфейс был назван Open Database Connectivity, или открытый механизм взаимодействия с базами данных .

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

Это достигается благодаря тому, что поставщики различных баз данных создают драйверы, реализующие конкретное наполнение стандартных функций из ODBC API с учётом особенностей их продукта. MFC усовершенствовала ODBC для разработчиков приложений. Истинный интерфейс ODBC является обычным процедурным API. Вместо создания простой оболочки процедурного API разработчики MFC создали набор абстрактных классов, представляющих логические сущности в базе данных.

См. также Примечания Ссылки

Odbc что это:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    Программное управление источниками данных ODBC

    Программное управление источниками данных ODBC Введение

    Тема нашего сегодняшнего разговора - ODBC. Если вы хоть раз писали СУБД (системы управления базами данных), то вам, наверное, знакома эта аббревиатура. Расшифровывается ODBC как Open DataBase Connectivity (вольный перевод - открытая система связи с базами данных). Open (открытая) в данном случае означает "расширяемая", "легко наращиваемая", "открытая для модификаций". Вы сами это поймете, если посмотрите на архитектуру построения ODBC:

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

    Физически ODBC представляет собой набор динамических библиотек DLL, которые обслуживают подключение и работу с конкретным типом базы данных.При запросе на подключение к определенной, заранее описанной базе "активизируется" определенная DLL - драйвер этого типа БД. Обращение к определенной базе данных происходит по имени так называемого источника данных ODBC (или DSN - data source name). Можно представить DSN как своего рода объявление БД на данном компьютере, причем DSN может быть пользовательским, т.е. находится в области видимости только одного польователя, в сеансе которого был создан этот DSN, и системным, т.е. видимым всеми пользователями данного компьютера.

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

    - Windows 9х - сам исполняемый файл odbcad32.exe лежит в каталоге Windows\System. Запускать его можно напрямую либо через Панель управления (значок "Источники данных ODBC (32-бит)"). Если на компьютере установлен BDE, запустите администратор BDE и из меню Object выберите пункт ODBC Administrator.

    - Windows 2000 - исполняемый файл odbcad32.exe лежит в каталоге WinNT\System32, а запускать его можно через Панель управления -> Администрирование -> Источники данных ODBC. К сожалению, у меня нет возможности проверить, как с ODBC в NT3.51 / 4 - не думаю, что там ребята из Microsoft сильно его спрятали.

    Почему ODBC?

    Ведь есть же BDE, скажете вы. Да, возможно вы правы. Однако здесь есть "но". У обоих движков есть свои преимущества и недостатки. ODBC намного лучше работает с "родными, от Microsoft" источниками данных продуктов Microsoft Office - типа Access, Excel, MS SQL Server (вообще-то из-за Access я и затеял всю эту писанину). Кроме того, в стандартный дистрибутив BDE, который можно на каждом шагу найти в Интернете, я что-то ни разу не встречал SQL Links, впрочем, как я ни разу не встречал и отдельного дистрибутива SQL Links. А именно после установки SQL Links в BDE появлется возможность создавать алиасы к Access, MS SQL Server, Oracle и др. типам баз данных. Устанавливать же полную версию C++Builder или Delphi на компьютер пользователя может не каждый. А ODBC на "голой" машине уже содержит драйверы Access, Excel, FoxPro и SQL Server. В общем, для общего развития не помешает освоить и ODBC, тем более что access'овские базы, с которыми мы будем работать через ODBC, очень надежны (не в пример стандартным BDE'шным paradox'овым, у которых то и дело сыпятся индексы, а про такое поле как счетчик я вообще молчу), практически на любом компьютере пользователя установлен Office, что позволяет вносить коррективы "на месте", да и удобство всей базы в одном файле тоже иногда сказывается.

    Фнукции, с которыми нам придется работать

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

    1. Функция SQLDataSources возвращает список всех источников данных ODBC.

    • hEnv - хэндл, возвращаемый функцией SQLAllocEnv();
    • fDirection - задает режим работы. Может принимать значения SQL_FETCH_FIRST - вернуть первую запись и SQL_FETCH_NEXT - вернуть следующую запись. Логика работы аналогична функциям FindFirst и FindNext (помните DOS?);
    • szDSN - указатель на буфер длиной не менее cbDSNMax, куда будет записано имя источника данных;
    • cbDSNMax - длина буфера szDSN;
    • pcbDSN - указатель на целое, куда записывается реальная длина (не включая завершающий \0) принятого имени источника данных;
    • szDescription - указатель на буфер длиной как минимум 255 символов, куда запистывается описание принятого источника данных;
    • cbDescriptionMax - длина буфера szDescription;
    • pcbDescripton - указатель на целое, куда записывается реальная длина описания источника данных.
    2. Функция SQLConfigDataSources добавляет, изменяет или удаляет указанный источник данных.
    • hwndParent - хэндл родительского окна. Если не равен NULL, отображается стандартный для данного типа источника данных диалог настройки.
    • fRequest - тип запрашиваемой операции. Может принимать следующие значения:
      • ODBC_ADD_DSN (ODBC_ADD_SYS_DSN) - запрос на создание нового пользовательского (системного) источника данных;
      • ODBC_CONFIG_DSN (ODBC_CONFIG_SYS_DSN) - запрос на изменение существующего пользовательского (системного) источника данных;
      • ODBC_REMOVE_DSN (ODBC_REMOVE_SYS_DSN) - удаление пользовательского (системного) источника данных.
    • lpszDriver - указатель на строку, содержащую имя драйвера, ассоциированного с конкретным типом БД;
    • lpszAttributes - указатель на строку атрибутов в форме ключевое слово - значение. Каждая такая пара должна заканчиваться символом \0, в конце строки атрибутов должен стоять двойной символ \0.

    Приведем несколько примеров строки атрибутов, чтобы вам было понятно, что это такое:

    "DSN=MySource\0UID=MyLogin\0PWD=MyPass" - источник данных с именем MySource, логин - MyLogin, пароль - MyPass

    Каждый драйвер "понимает" свои ключевые слова, чаще всего применяются:

    Для баз данных Microsoft Access для указания имени БД вместо DATABASE используется ключевое слово DBQ.

    3. Функция SQLAllocEnv создает новый хэндл для использования в других функциях и инициализирует интерфейс для работы с ODBC

    hEnv - указатель на переменную, которая будет хранить созданный хэндл в случае удачного выполнения функции

    4. Функция SQLFreeEnv удаляет заданный хэндл и освобождает всю память, ассоциированную с ним.

    • hEnv - хэндл, который нужно удалить
    Исходный код

    Сначала несколько замечаний. В C++Builder есть заголовочные файлы для работы с ODBC. Нам нужно два из них - odbcinst.h и sql.h. Добавьте строки

    в начало вашего файла. Реализация функций, описанных в этих файлах, находится в нескольких 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:

    4. Полученные .lib - файлы копируем в каталог с проектом

    5. Из меню Project выбираем пункт Add to Project. и поочередно добавляем odbc32.lib и odbccp32.lib.

    Все, теперь система сама загрузит эти DLL во время запуска программы.

    Пример 1: Получаем список уже созданных источников данных ODBC.

    Этот фрагмент кода просто перебирает все уже созданные источники данных. В первой строке фрагмента после объявления переменных создается хэндл текущего сеанса работы с ODBC, затем выбирается первое имя DSN. Если первое имя успешно прочитано (retCode содержит константу SQL_SUCCESS), то в цикле выбирается следующий DSN и т.д. до тех пор, пока не будет прочитан последний DSN. Если на место комментария вставить код (ListBox1 -> Items -> Add(DSNName)), добавляющий прочитанное имя в ListBox, например, то вы сможете просмотреть весь этот список. А если на место комментария вставить что-нибудь типа

    то мы проверим, сможет ли наша программа работать нормально.

    Пример 2: Создаем новый источник данных.

    В этом примере вы узнаете, как создать системный DSN для базы данных Access. Предположим, файл с БД лежит в том же каталоге, что и программа, а его имя - db1.mdb.

    Как видите, здесь уже не нужны хэндлы и код достаточно ясный. В первых трех строках - дописываем в строку атрибутов путь к файлу БД. Затем собственно создаем источник. Обработка ошибок тривиальна.

    Важное замечание: При создании DSN если такое имя уже есть, то не возвращается ошибка, а создается DSN с текущими параметрами.

    Пример 3: Как все это собрать воедино и использовать в программе

    Здесь кода не будет, здесь будет описание. Итак, у нас есть программа, которой нужно "присоединиться" к базе Microsoft Access, лежащей совсем рядом, в текущем каталоге. На машине пользователя нам не нужно ничего, кроме стандартного набора bpl и BDE. Но - теперь не нужны SQL Links, можно использовать, например, Install Shield, можно взять отдельный дистрибутив BDE. Поехали:

    1. На основную форму проекта кидаем компоненту TDatabase. Устанавливаем ее свойства: LoginPrompt - false, DatabaseName - dbMain, AliasName - c2a (имя источника данных ODBC). Во всех компонентах TQuery или TTable свойство Database Name будет равно dbMain. Конечно, можно не использовать компоненту TDatabase, а в TQuery или TTable прямо указывать имя источника данных ODBC, но представьте, если вы написаи проект формочек на двадцать-тридцать, а потом решили, что имя источника 'MySuperDSN' не в полной мере отражает всю вашу крутость :-) Изменять свойство у полусотни компонент - очень муторное занятие, поверьте.

    2. В конструкторе основной формы прописываем код примера №1, вставляя на место комментария следующий код:

    а после цикла - такой фрагмент:

    3. Функция NewDSN() полностью повторяет код примера №2.

    Теперь при первом запуске программы будет создан источник данных ODBC Microsoft Access с именем c2a, ссылающийся на файл db1.mdb, лежащий в том же каталоге, что и программа.

    4. На всякий непредвиденный случай (если вы переместили программу в другой каталог, поменялась буква диска или сетевое имя, где лежит база данных) можно в программе предусмотреть немедленное перезаписывание DSN по горячей клавише, что-то типа такого:

    Здесь для перезаписи DSN используется комбинация Alt-Ctrl-F1

    ODBC, Простые вопросы -> Форум на Исходниках

    Привет народ.
    Я очень долго не решался задать все эти вопросы вам и надеюсь мне кто-нибудь ответит.
    Конечно я понимаю что на все эти вопросы нельзя ответь, но МНЕ ОЧЕНЬ НАДО ЗНАТЬ.
    Хоть коротко объясните(если сами знаете).
    Я уже замонался С ПНИМАНИЕМ ТОГО, ЧТО ИЗ СЕБЯ ПРЕДСТОВЛЯЕТ ТЕХНОЛОГИЯ ДОСТУПА К БАЗЕ.
    Я не могу понять что предстовляет из себя ODBC. Это технология доступа к базам данных?
    Да, Пишут везде. Но что это конкретно? Это набор финкций для доступа к базе. Тогда получается что это библиотека?Не понимаю.
    Почему ODBC называют драйвером? И почему этих драйверов очень много и все ODBC. Не понимаю.
    Что значит драйвер с набором финкций. Как все это происходит воще. И почему если я хочу установить связь с базой на СУБД(например SQL Server)
    то говорят что она(СУДБ) тоже должна поддерживать этот драйвер. Что вообще происходит ?
    И почему при подключении через ADO меня просят выброть драйвер. Какой драйвер, я не могу понять прои универсальном доступе к данным. И если я подключаюсь через ADO .то почему поставщик должен быть OLE BD. И что значит поставщик OLE DB?

    Есть базы данных - разные, все они по разному организованы, имеют разные особенности и разные способы ображщения с окружающими. А у нас программа, мы хотим чтобы соединение с базами данных было во первых простое, во вторых по возможности универсальное. Значит получаем простую цепочку:

    БД ---A---- Драйвер ----B--- программа

    Рассмотрим звенья:
    1) БД есть здесь нечто двоякое, или это просто набор файлов (DBase, Paradox, MS Access) или отдельная программа которая которая внутри себя хранит данные (MS SQL Server, Oracle и т.д.) и их обрабатывает
    2) Драйвер - это библиотека функций которые обеспечивают 2 интерфейса: во первых (---A----) это коннект с конкретной базой данных, т.е. КАЖДАЯ база данных имеет свой драйвер, который ЗНАЕТ как говорить с этой базой данных, во вторых - интерфейс (----B---) - некий протокол, соглашение, набор функций - с помощью которых программа пользователя может говорить с драйвером - вот этот интерфейс желательно иметь одинаковый для всех баз данных, чтобы в программе для работы с разными базами данных не надо было много менять. Набор драйверов для разных баз данных, которые имеют одинаковый интерфейс (----B---), одинаковую логику построения, одинаковую архитектуру, общие файлы конфигурации и утилиты для обслуживания и называются "технологией доступа к базам данных" - ODBC, ADO, DAO, BDE, DBExpress и т.д.

    Гость hilolo. 6.12.03, 21:15
    Это набор финкций для доступа к базе

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

    Гость hilolo. 6.12.03, 21:15
    Тогда получается что это библиотека?

    Нет. Драйвер базы данныз - это библиотека.

    Гость hilolo. 6.12.03, 21:15
    Почему ODBC называют драйвером?

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

    Гость hilolo. 6.12.03, 21:15
    И почему этих драйверов очень много и все ODBC.

    Количество драйверов: в принципе каждая база данных имеет свой драйвер, но ситуация несколько осложняется тем, что иногда один драйвер может работать с несколькими типами баз данных - например DBase III и DBase IV, а драйвера для некоторых баз данных производятся разными производителями, поэтому может быть и несколько разных драйверов к одной и той же базе данных от разных компаний.

    Гость hilolo. 6.12.03, 21:15
    Что значит драйвер с набором финкций.

    Библиотека функций, DLL

    Гость hilolo. 6.12.03, 21:15
    И почему если я хочу установить связь с базой на СУБД(например SQL Server)
    то говорят что она(СУДБ) тоже должна поддерживать этот драйвер.

    Наоборот, у Вас должен быть драйвер умеющий работать с данной СУБД

    Гость hilolo. 6.12.03, 21:15
    И почему при подключении через ADO меня просят выброть драйвер.

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

    Гость hilolo. 6.12.03, 21:15
    Какой драйвер, я не могу понять прои универсальном доступе к данны

    Универсальный для программы, универсальность и обеспечивает выбор нужного драйвера.

    Гость hilolo. 6.12.03, 21:15
    И если я подключаюсь через ADO .то почему поставщик должен быть OLE BD

    поставщик может быть и ODBC. Вообще на начальных этапах можно не пудрить себе мозги терминологией и читать:

    Гость hilolo. 6.12.03, 21:15
    И что значит поставщик OLE DB?

    Но вот один момент: поповоду постовщик= драйвер, если это так то почему при подключении к базе мне предлогают например OLE DB provider for ODBC driver. Т.е я буду подключаться с ODBC драйвером, но к чему, к другому драйвеуру.Или имеется ввиду что база поддерживает OLE DB драйвер. И что тогда значит база поддерживает драйвер. Как я понял например при подключении через ODBC драйвер к простой базе *.mdb база ничего не поддерживает. Т.е
    (База)---(А)---Драйвер---(Б) и со стороны базы никокого драйвера нет.

    Просто ADO имеет возможности использовать ODBC драйвера, сама оставаясь над ними высокоуровневой настройкой, т.е. в нашей схеме:

    БД ---A---- Драйвер ODBC ----B--- ADO ---- программа

    Это плохой путь программирования - не эффективный и очень медленный. Он нужен только для совместимости - для использования ADO для доступа к античным базам данных. Для доступа к MS Access используйте ADO провайдер "Jet", так как со всеми другими вас ждут большие и малые проблемы в большом количестве.

    With the best wishes, Vit
    I have done so much with so little for so long that I am now qualified to do anything with nothing
    Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru

    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

    Источники данных ODBC

    Источники данных ODBC

    ODBC (object data base connector) – универсальное подключение к различным базам данных – Oracle, MS SQL, к Excel, Access-файлам, к текстовым файлам и т.д.

    Источники данных ODBC так же как и скрипты импортируют данные из внешних источников в значения показателя, только программируются на языке SQL-запросов.

    Для успешного создания и работы источников данных ODBC должны выполняться следующие необходимые условия:
    1. ODBC-источник (базы данных или файлы, откуда вы будете импортировать данные) должен находиться на том же компьютере, что и сервер ELMA.
    2. Источник данных ODBC доступен только под тем пользователем на компьютере, под которым он был создан.
      На компьютер, где находится сервер ELMA, можно зайти под разными пользователями. Допустим "Источник данных ODBC 1" был создан под пользователем User1. Если зайти на этот компьютер под пользователем User2 - "Источник данных ODBC 1" работать не будет.
    3. Источник данных ODBC и сервер ELMA должны быть запущены под именем одного пользователя .
      Сервер ELMA можно запускать от имени разных пользователей, заведенных на компьютере - имеются в виду учетные записи пользователей, под которыми можно запустить работу компьютера, а не пользователи в ELMA! Так вот источник данных ODBC будет работать только если компьютер запущен от имени пользователя, создавшего этот источник и сервер ELMA запущен также от имени этого пользователя.
    4. Во внешнем источнике данных названия показателей должны в точности совпадать с названием тех показателей в ELMA, в которые нужно сделать импорт данных. Если в источнике данных будет название не существующего в ELMA показателя, программа выдаст сообщение об ошибке и импорта данных, соответствующих этому несуществующему показателю не произойдет. Данные, соответствующие существующим в ELMA показателям, нормально импортируются в систему ELMA.
    5. Если вы импортируете данные в значения персонального показателя. то в файле с данными около каждого значения должен быть указан логин пользователя из ELMA, которому соответствует персональное значение показателя (см. пример ).
    6. Файлы Excel поддерживаются только из версий Excel 97-2003 - это файлы с расширением .xls.
    7. При создании источника данных ODBC внешний источник с данными должен быть закрыт.

    Рассмотрим следующий пример: импортируем данные из файла "Данные по отгрузке.xls" в значения показателей "Выручка(Товары)" и "Выручка(Услуги)" за три месяца - сентябрь, октябрь и ноябрь (рис. 1).

    Рис. 1. Файл "Данные по отгрузке.xls".

    Создание источника данных ODBC

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

    Чтобы создать источник данных ODBC в операционной системе Windows, надо выбрать Пуск - Панель управления - Администрирование - Источники данных ODBC .

    Должно появиться окно со списком источников данных ODBC (рис. 2). На вкладке Пользовательский DSN нужно добавить источник данных.

    Рис. 2. Окно со списком источников данных ODBC.

    Нажмите кнопку Добавить. И в появившемся окне выберите драйвер той программы, в которой был создан источник данных (рис. 3). Данные можно брать только из тех источников, на которые на компьютере установлены драйверы. Поскольку данные будем импортировать из xls-файла, выбираем Driver do Microsoft Excel(*.xls). Нажмите кнопку Готово .

    Рис. 3. Список драйверов разных программ.

    В появившемся окне (рис. 4) напишите имя источника данных, которое будет отображаться в окне со списком источников данных ODBC (рис. 2).

    Версия - в этом поле выберите "Excel 97-2000" или "Excel 97-2003", потому что функционал источников данных ODBC в ELMA поддерживает файлы Excel только этих версий. Файл с данными должен быть с расширением .xls.

    Выбор книги. - с помощью этой кнопки выберите файл:

    Рис. 4. Создание источника данных ODBC в Windows. Выбор файла с данными.

    Нажмите ОК. Источник данных ODBC в Windows создан.

    Теперь нам нужно создать его в Дизайнере.

    Создать источник данных ODBC в Дизайнере можно двумя способами:
    • в контекстном меню раздела Источники данных ODBC выбрать пункт Создать.
    • выбрать мышью раздел Источники данных ODBC и на панели инструментов нажать кнопку Создать .

    Рис. 5. Кнопки для создания источника данных ODBC.

    Появится диалоговое окно, в котором нужно создать источник данных ODBC и нажать кнопку ОК (рис. 6).

    Рис. 6. Создание источника данных ODBC в Дизайнере Управления показателями.

    Создание источника данных ODBC в Дизайнере ELMA происходит на трех вкладках:

    Название - название источника.

    Источник данных - укажите источник данных. В нашем случае - это файл "Данные по отгрузке.xls". Нажмите кнопку и в появившемся окне выберите нужный источник данных. В этом окне отображается список источников данных ODBC в Windows (рис. 2 ).

    Запрос - в этой части окна пишется SQL-запрос, который выбирает из источника данные.
    - проверить запрос на сервере. Проверяет синтаксис запроса - правильно ли он написан. Если запрос написан с ошибками - на вкладке Ошибки отображается список ошибок. При проверке запроса источник данных, из которого будут импортироваться данные в значения показателя должен быть закрыт.
    - запустить эмуляцию запроса. Запускается запрос, но без изменений в базе данных, без изменения данных показателей. При эмуляции и запуске на сервере на консоль выводится подробная информация об импорте – какие значения в какие показатели записаны.
    - импорт данных. Запускается запрос и данные импортируются в значения показателей.
    Консоль - на этой вкладке отображается то, что запрос выводит на консоль.

    После создания запроса, его нужно обязательно проверить кнопкой проверки синтаксиса . После проверки на вкладке Таблица появится таблица с данными, которые запрос выгрузил из источника данных. И после этого можно заполнить оставшиеся параметры на вкладке Загрузка .

    В выпадающем списке нужно выбрать:

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

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

    План - выберите столбец из источника данных, в котором записаны планируемые значения показателя.

    ODBC- что это?

    ODBC- что это?

    Личный Кабинет Удалён Ученик (84), закрыт 9 лет назад

    ODBC- что это?
    1. открытый интерфейс к базам данных на платформе Windows
    2. встроенный язык программирования базы данных
    3. удаленная база данных
    4. сервер, содержащий удаленную базу данных
    5. популярная система управления базой данных

    kaskad095 Просветленный (30381) 9 лет назад

    ODBC (Open DataBase Connectivity) — это открытый интерфейс доступа к базам данных, разработанный фирмой X/Open.

    В начале 1990 г. существовало несколько поставщиков баз данных, каждый из которых имел собственный интерфейс. Если приложению было необходимо общаться с несколькими источниками данных, для взаимодействия с каждой из баз данных был необходим нестандартный код. Для решения возникшей проблемы Microsoft и ряд других компаний создали стандартный интерфейс для получения и отправки данных источникам данных различных типов. Этот интерфейс был назван open database connectivity (открытая связь с базами данных).

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

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

    gloobus Мудрец (14417) 9 лет назад

    Я не понимаю женскую логику.
    неужели не проще вбить в яндексе "ODBC это"
    выдаст тоже самое. тока быстрей и без гемора.

    Тут тебе могли написать что угодно! Мало ли ламаков сидит.

    vzotin Оракул (96273) 9 лет назад

    ODBC (Open DataBase Connectivity) — это открытый интерфейс доступа к базам данных, разработанный фирмой X/Open.

    Odbc что это

    / Рейтинг 1 / 12. Протокол ODBC и его реализации 3.3.2. Протокол ODBC и его реализации

    Интерфейс прикладного программирования ODBC API предоставляет общие методы доступа на основе языка баз данных SQL как к реляционным, так и к нереляционным (ISAM) источникам данных.

    Наиболее современный стандарт ANSI SQL (фактически, это часть разрабатываемого стандарта SQL-3) включает спецификацию интерфейса на уровне вызовов (CLI - Call-Level Interface), на которую опирается ODBC для обеспечения доступа и работы с данными во многих системах управления базами данных. Интерфейс CLI соответствует требованиям, установленным в 1996 году комитетом SQL Access Group и определяющим общий синтаксис SQL и интерфейса API. Иметь общий метод доступа к источникам данных удобно потому, что тогда база данных на сервере становится прозрачной для приложений, которые написаны в соответствии со специфицированным уровнем совместимости ODBC.

    Интерфейс ODBC API реализован как набор расслоенных DLL-функций для Windows. Динамическая библиотека ODBC.DLL - это основная библиотека управления драйверами ODBC, которая содержит функции вызовов специализированных драйверов для разных поддерживаемых системой баз данных. Каждый драйвер совместим со своим уровнем CLI и относится к одной из двух категорий: одноуровневые или многоуровневые драйверы.

    Одноуровневые драйверы предназначены для использования при работе с теми источниками данных, которые не могут быть прямо обработаны с использованием ANSI SQL. Обычно это локальные базы данных на персональных компьютерах, такие как dBase, Paradox, FoxPro и Excel. Драйверы, соответствующие этим базам данных, производят компиляцию ANSI SQL в наборы инструкций более низкого уровня, которые непосредственно обрабатывают составляющие базу данных файлы.

    Многоуровневые драйверы используют сервер РСУБД для обработки SQL-предложений и предназначены для работы в среде клиент-сервер. Помимо обработки ANSI SQL, они также могут поддерживать и собственные конструкции конкретной РСУБД, поскольку ODBC может без трансляции передавать SQL-операторы источникам данных (механизм "passthrough"). Драйверы ODBC для баз данных, поддерживаемым в технологии клиент-сервер реализованы для Oracle V 6.0 и Oracle V 7, а также Informix, Microsoft и Sybase SQL Server, Rdb, DB2, Ingres, HP/Image и An SQL. Драйверы можно приобрести в фирмах Microsoft, Intersolv, Visigenic и Openlink, причем только Microsoft и Intersolv выпускают и 32-х, и 16-ти разрядные драйверы.

    Существует 4 важных этапа (шага) процедуры запроса данных через ODBC API.

    Шаг 1 - установление соединения. Первый шаг состоит в размещении указателей (handle) среды ODBC, которые выделяют оперативную память под ODBC драйверы и библиотеки. Затем происходит выделение памяти для указателей соединения, и соединение устанавливается.

    Шаг 2 - выполнение оператора SQL. Выделяется указатель оператора, локальные переменные связываются со столбцами в SQL-выражении (это необязательное действие), и выражение представляется главному ODBC-драйверу для обработки.

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

    Шаг 4 - освобождение ресурсов. После того, как данные получены, ресурсы освобождаются путем вызова функций освобождения указателей оператора, соединения и среды. Указатели оператора и соединения могут быть использованы в процессе обработки.

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

    Однако универсальность стоит дорого. Если при разработке приложений одним из основных критериев является переносимость на различные СУБД, то использование ODBC является оправданным. Для увеличения производительности и эффективности приложения активно применяют специфические для данной СУБД расширения языка SQL, используют хранимые на сервере процедуры и функции. В этом случае теряется роль ODBC как общего метода доступа к данным. Тем более, что для разных СУБД драйверы ODBC поддерживают разные уровни совместимости. Поэтому многие производители средств разработки, помимо поддержки ODBC, поставляют "прямые" драйверы к основным СУБД.

    Firebird ODBC, InterBase ODBC или OLE DB? Выбираем драйвер для InterBase и Firebird

    Firebird ODBC, InterBase ODBC или OLE DB? Выбираем драйвер для InterBase и Firebird.

    Keywords: OLE DB провайдер, Firebird ODBC драйвер, InterBase ODBC драйвер, работа с Firebird, InterBase; доступ, подключение к Firebird, InterBase; ADO .Net, ADO, DAO, ibprovider, gemini, easysoft

    Введение

    Часто приходится слышать о том, что многие не понимают различия между технологиями ODBC и OLE DB. Иногда между ними даже ставят знак равенства. В статье рассматривается сходство этих технологий и их различие.

    На примере баз данных Firebird и InterBase даны рекомендации, которые помогут вам при выборе средства доступа.

    Преимущества использования стандартных интерфейсов

    Обе технологии разрабатываются компанией Microsoft. Основное их предназначение — это изолировать клиента от особенностей реализации источника данных, предоставив ему стандартный интерфейс доступа.

      Можно выделить следующие преимущества такого подхода:
    • Независимость клиентского приложения от деталей реализации источника данных.
    • Легкий переход между версиями серверов баз данных.
    • Возможность работы приложения с несколькими серверами баз данных.
    • Поддержка со стороны большого числа средств разработки.

    Идея состоит в том, что разработчикам легче реализовать один стандартный интерфейс, чем поддерживать множество базы данных с различным API.

    Что такое ODBC драйвер?

    ODBC — Open Database Connectivity («Открытый интерфейс взаимодействия с базой данных»)

    ODBC драйвера были одной из первых попыток Microsoft стандартизировать механизмы доступа к данным.

    ODBC драйвер представлял собой реализацию ODBC API на языке C. Вызовы ODBC API транслировались на API конкретной базы данных.

    Достоинство технологии — это её кросс-платформенность. Сторонняя разработка unixODBC позволяет использовать ODBC драйвера на Unix .

    Источники данных ODBC

    Всю информацию об источниках данных и ODBC драйверах Windows хранит в реестре. Обращение к БД происходит по имени зарегистрированного источника данных DSN (Data Source Name ), Таким образом, перед использованием источник данных необходимо зарегистрировать на компьютере пользователя.

    Зарегистрировать новое подключение можно через «Администратор источника данных» (Control Panel->Administration->Источники данных ODBC).

    Альтернатива ODBC — OLE DB провайдер.

    OLE DB (или OLEDB) — Object Linking and Embedding, Database. Технология OLE DB появилась позже ODBC и стала развитием идей корпорации Microsoft о стандартных интерфейсах доступа к данным.

    OLE DB, в отличие от ODBC, является объектно-ориентированным API. основанным на COM-интерфейсах.

    OLE DB провайдеры могут работать не только с реляционными базами данных, но и с любой другой информацией которую можно представить в табличном виде. Например: OLE DB провайдер для служб каталогов или Jet OLE DB провайдер, позволяющий извлекать данные из Excel и Outlook.

    В OLE DB можно работать и с ODBC драйвером при помощи специального провайдера (OLE DB Provider for ODBC drivers), который умеет подключаться к источникам данных ODBC. Данная схема помогала в случае отсутствия OLE DB провайдера для конкретной базы данных. На сегодняшний день поддержка этого драйвера прекращена.

    Источники данных OLE DB

    Для подключения через OLE DB не требуется регистрация источника данных в системе. как это принято в ODBC. Вся информация хранится либо в файлах с расширением udl, либо указывается непосредственно в строке подключения.

    Для редактирования подключения OLE DB с расширением udl ассоциирован редактор связей с данными Data Link. Он поддерживает расширенную настройку провайдера данных за счет включения в свой интерфейс дополнительных страниц, о которых ему сообщает выбранный OLE DB провайдер.

    Чтобы запустить редактор Data Link создайте пустой файл с расширением udl и запустите его на выполнение.

    Управляющие последовательности ODBC (ODBC Escape Sequences)

    Развитие языка SQL сделало его реализации в различных базах данных несовместимыми между собой. Для решения проблемы совместимости были предложены управляющие последовательности ODBC (ODBC Escape Sequences ). Они позволили писать SQL запросы, которые были бы совместимы с большинством баз данных.

    Поддержка управляющих ODBC последовательностей есть во многих базах данных. Для Firebird и InterBase технология ODBC Driver Escape Sequences доступна через IBProvider — OLE DB провайдер для Firebird и InterBase.

    ADO и DAO

    DAO — это Data Access Objects (объекты доступа к данным). Библиотека позволяла работать с базами данных через ODBC драйвера. Разработка технологии прекращена в 2001 году.

    ADOActiveX Data Objects (ActiveX-объекты для доступа к данным). Библиотека для работы с OLE DB провайдерами. Приобрела большую популярность среди разработчиков Windows-приложений, т.к. обладает более простым высокоуровневым интерфейсом чем OLE DB.

    Компоненты ADO спроектированы достаточно хорошо, по многим возможностям даже превосходят более новую технологию ADO .Net. К примеру, в ADO .Net отсутствует возможность Fetch Backwards для курсоров, нет стандартного способа прочитать и записать свойства OLE DB, не реализована поддержка параллельных транзакций в одном подключении.

    Библиотека ADO поддерживается следующими средствами:

    • в Visual Studio: Visual C++ и Visual Basic;
    • Microsoft Office, Visual Basic For Applications.
    • Скриптовые языки VBcript, JavaScript, WSH
    • Остальные, поддерживающие COM.

    И ADO и DAO входят в состав MDAC — Microsoft Data Access Components.

    Интеграция с Microsoft Office

    Средства Microsoft Office поддерживают загрузку данных и через OLE DB и через ODBC. Полноценное использование всех офисных средств управления данными зависит от возможностей конкретных OLE DB провайдеров и ODBC драйверов.

    Для пользователей Firebird и InterBase такая поддержка есть.

    .Net Framework

    Все больше разработчиков выбирают среду .Net Framework для новых проектов. Для OLE DB и ODBC в ADO .Net реализованы соответствующие .Net провайдеры:

    • ODBC .Net Data Provider
    • OLE DB .Net Data Provider
    Microsoft MS SQL Server

    SQL Server позволяет обращаться из Transact SQL к базам данных других серверов, включая Firebird и InterBase через технологию Linked Server.

    Linked Server взаимодействует только с OLE DB провайдерами и не поддерживает ODBC дравейра.

    Для того чтобы испольовать ODBC драйвер, необходимо подключать дополнительный слой — OLE DB провайдер для ODBC драйверов и организовывать подключение типа Firebird/InterBase -> ODBC -> OLEDB ->MS SQL Linked Server. Данная схема будет не совсем эффективной и скорее является временным решением, чем постоянным.

    Microsoft в своих решениях постепенно отказывается от поддержки стандарта ODBC, предлагая взамен OLE DB и ADO .Net провайдеры.

    Business Intelligence

    В состав SQL Server входят три средства Business Intelligence:

    • Integration Services (SSIS) — визуальное средство для переноса данных.
    • Analysis Services (SSAS) — OLAP система.
    • Reporting Services (SSRS) — позволяет разрабатывать отчетные системы.

    Они позволяют работать с OLE DB и .Net провайдерами, но не имеют полноценной поддержки ODBC.

    ODBC Firebird, ODBC InterBase или все же OLE DB? ODBC драйвера

    Gemini InterBase/Firebird ODBC Driver — проект не поддерживается с марта 2005 года. Сайт: http://www.ibdatabase.com/

    ODBC драйвера Easysoft распространяются отдельно для Firebird и отдельно для InterBase:

    Easysoft ODBC-InterBase Driver — заявлено о поддержке InterBase 6. IB 6.5 IB 7 и IB 7.5. Страница компонента.

    Easysoft ODBC-Firebird Driver — заявлено о поддержке Firebird 1 и FB 1.5. Страница компонента.

    На сайте Easysoft достаточно внушительный список ODBC драйверов, но нет информации о дате последних обновлений драйверов для Firebird и InterBase. Судя по номерам поддерживаемых версий, изменения происходили достаточно давно.

    Для того чтобы скачать эти драйвера, необходимо зарегистрироваться на сайте EasySoft.

    OLE DB

    IBProvider Professional Edition — поддерживает 19 InterBase и Firebird, включая InterBase XE7 и Firebird 3.0. и автоматически настраивается на работу с каждым из них. Самостоятельно определяет ключевые слова, подключает оптимизирующие алгоритмы, набор метаданных, парсер SQL и ODBC и т.д.

    В состав решения входят сразу 3 OLE DB провайдера. Подробнее о назначении каждого читайте здесь

    Заключение

    На мой взгляд, выбор технологии доступа для Firebird и InterBase очевиден. но, несмотря на это каждый месяц посетители поисковых систем ищут магические ODBC Firebird driver и ODBC InterBase driver для создания новых приложений.

    Между тем выбор средства доступа к базе данных, как и самой базы данных, является основой приложения и от этого выбора может зависеть не только производительность, скорость разработки, но и успех проекта в целом.

    Дополнительная информация с сайта IBProvider

    Вы так же можете подписаться на новости и обновления документации на нашем сайте. В начале статьи расположена форма подписки!

    Полезные ссылки

    Дата публикации: 16.01.2008. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт http://www.ibprovider.com/rus обязательна.