Администратор источника данных odbc где находится
Перейти к содержимому

Администратор источника данных odbc где находится

  • автор:

Открытие администратора источника данных ODBC

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

Открытие администратора источников данных ODBC в Windows 10
  1. На начальной странице введите Источники данных ODBC. Должен отобразиться вариант ODBC Data Sources Destop App (Классическое приложение источников данных ODBC).
Открытие администратора источников данных ODBC в Windows 7
  1. В меню Пуск выберите пункт Панель управления.
  2. На панели управлениявыберите пункт Администрирование.
  3. В окне Администрированиевыберите пункт Источники данных (ODBC).
Открытие источника данных ODBC Администратор istrator в Windows Server
  1. В меню «Пуск» наведите указатель на Администратор istrative Tools, а затем выберите «Источники данных ODBC».

Для проверки подлинности с помощью идентификатора Microsoft Entra (прежнее название — Azure Active Directory) в База данных SQL Azure установите последний драйвер, например ODBC Driver 18 для SQL Server.

Администратор источника данных odbc где находится

B1. Настройка ODBC-драйвера

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

Параметры для ODBC-подключения

Имя набора данных

Возможные значения параметра TRANSACTION :

Значение по умолчанию DEFAULT означает «использовать умолчание SQL-сервера». Подробнее об уровнях изоляции транзакций смотрите в документации по соответствующей СУБД.

Чтобы исключить проблемы с кодировкой, необходимо отключить следующие параметры ODBC-драйвера:

• Использовать национальные настройки – может вызвать ошибки при форматировании числовых параметров.

• Выполнять перевод символьных данных – может вызывать некорректное отображение символов в Центре управления для параметров, пришедших из базы данных. Он устанавливает зависимость отображения символов от языкового параметра для программ, не использующих Unicode.

Сама база данных создается предварительно на SQL-сервере с параметрами, указанными выше.

Необходимо также настроить параметры ODBC-драйвера для компьютера, на который установлен Сервер Dr.Web.

Информацию по настройке ODBC-драйвера под ОС семейства UNIX можно найти на http://www.unixodbc.org/ в разделе Manuals .

Настройка ODBC-драйвера для ОС Windows

Для настройки параметров ODBC-драйвера:

1. На Панели управления ОС Windows выберите пункт Администрирование , в открывшемся окне дважды щелкните по значку Источники данных (ODBC) . Откроется окно Администратор источников данных ODBC . Перейдите на вкладку Системный DSN .

2. Нажмите кнопку Добавить . Откроется окно выбора драйвера.

3. Выберите в списке пункт, соответствующий ODBC-драйверу для данной БД, и нажмите кнопку Готово . Откроется первое из окон настройки доступа к серверу баз данных.

При использовании внешней СУБД необходимо установить последнюю версию ODBC-драйвера, поставляемую с данной СУБД. Использование ODBC-драйвера, поставляемого вместе с ОС Windows, не рекомендовано. Исключением являются БД, поставляемые Microsoft без ODBC-драйвера.

4. Укажите параметры доступа к источнику данных, совпадающие с параметрами, заданными в настройках Сервера Dr.Web. Если сервер БД находится не на том же компьютере, что и Сервер Dr.Web, укажите в поле Сервер IP-адрес или имя сервера БД. Нажмите кнопку Далее .

5. Выберите опцию проверка подлинности учетной записи SQL Server и задайте необходимые учетные данные пользователя для доступа к БД. Нажмите кнопку Далее .

6. В выпадающем списке Использовать по умолчанию базу данных выберите базу данных, используемую Сервером Dr.Web. При этом обязательно должно быть указано имя базы данных Сервера, а не значение Default .

Убедитесь, что установлены следующие флаги: Заключенные в кавычки идентификаторы в формате ANSI , Значения null, Шаблоны и предупреждения в формате ANSI . Нажмите кнопку Далее .

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

7. По окончании настройки нажмите кнопку Готово . Откроется окно со сводкой заданных вами параметров.

8. Для проверки правильности настроек нажмите кнопку Проверить источник данных . После сообщения об успешности проверки нажмите кнопку ОК .

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

RETCODE SQLDataSources(HENV hEnv, UWORD fDirection, UCHAR * szDSN, SWORD cbDSNMax, SWORD *pcbDSN, UCHAR * szDescription, SWORD cbDescriptionMax, SWORD * pcbDescription );
  • 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 добавляет, изменяет или удаляет указанный источник данных.

BOOL SQLConfigDataSources(HWND hwndParent, WORD fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes)
  • hwndParent — хэндл родительского окна. Если не равен NULL, отображается стандартный для данного типа источника данных диалог настройки.
  • fRequest — тип запрашиваемой операции. Может принимать следующие значения:
    • ODBC_ADD_DSN (ODBC_ADD_SYS_DSN) — запрос на создание нового пользовательского (системного) источника данных;
    • ODBC_CONFIG_DSN (ODBC_CONFIG_SYS_DSN) — запрос на изменение существующего пользовательского (системного) источника данных;
    • ODBC_REMOVE_DSN (ODBC_REMOVE_SYS_DSN) — удаление пользовательского (системного) источника данных.

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

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

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

    PWD - пароль UID - логин DSN - имя источника данных DATABASE - имя базы данных SERVER - имя сервера, на котором находится база данных

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

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

    RETCODE SQLAlocEnv(HENV * hEnv)

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

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

    RETCODE SQLFreeEnv(HENV hEnv)
    • hEnv — хэндл, который нужно удалить

    Исходный код

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

    #include #include

    в начало вашего файла. Реализация функций, описанных в этих файлах, находится в нескольких DLL, лежащих в каталоге Windows\System (или WinNT\System32). В наших примерах будут использоваться две такие DLL, а именно odbc32.dll и odbccp32.dll. Чтобы подключить их к проекту, нужно проделать следующие шаги:

    1. Запускаем любой досовский файл-менеджер или командную строку Windows и переходим в каталог Windows\System (WinNT\System32) и находим эти две библиотеки.

    2. Если каталог BIN С++Builder’а прописан в переменной окружения PATH, просто набираем

    c:\windows\system\> implib odbc32.lib odbc32.dll

    иначе набираем полностью путь к файлу implib.exe, либо копируем его в каталог, прописанный в PATH.

    3. То же самое проделываем с odbccp32.dll:

    c:\windows\system\> implib odbccp32.lib odbccp32.dll

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

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

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

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

     const short SQL_MAX_DSN_LENGTH=255; UCHAR szDSN[ SQL_MAX_DSN_LENGTH+1 ]; UCHAR szDescription[ 256 ]; short wDSNLen; short wDesLen; int retCode; SQLHENV hEnv=NULL; AnsiString DSNName; SQLAllocEnv( &hEnv ); retCode = SQLDataSources( hEnv, SQL_FETCH_FIRST, szDSN, SQL_MAX_DSN_LENGTH+1, &wDSNLen, szDescription, 256, &wDesLen ); while( retCode == SQL_SUCCESS || retCode == SQL_SUCCESS_WITH_INFO ) < DSNName = (AnsiString)((char *)szDSN); // -- получили имя DSN в переменной DSNName retCode = SQLDataSources( hEnv, SQL_FETCH_NEXT, szDSN, SQL_MAX_DSN_LENGTH+1, &wDSNLen, szDescription, 256, &wDesLen ); >SQLFreeEnv( hEnv ); 

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

    if (DSNName=='OurDSN') .

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

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

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

    #include WORD fRequest = ODBC_ADD_SYS_DSN; UCHAR lpszDriver[] = "Microsoft Access Driver (*.mdb)"; UCHAR lpszAttributes[255] = "DSN=c2a;DBQ="; bool retCode; AnsiString CurDir; CurDir = GetCurrentDir(); StrCat(lpszAttributes, CurDir.c_str()); StrCat(lpszAttributes, "\\db1.mdb"); retCode = SQLConfigDataSource(NULL, fRequest, lpszDriver, lpszAttributes); if (retCode == true) Application -> MessageBox("DSN успешно создан", "Сообщение", MB_OK); else < Application ->MessageBox("Произошла ошибка во время создания DSN", "Ошибка", MB_OK); >

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

    Важное замечание: При создании 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, вставляя на место комментария следующий код:

    if (t == «c2a»)

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

    if (!Exists)

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

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

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

    void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) < if (Shift.Contains(ssAlt) && Shift.Contains(ssCtrl)) if (Key==VK_F1) < if (Application ->MessageBox("Перезаписать DSN?", "Вопрос",MB_YESNO)==IDYES) < NewDSN(); >> >

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

    Подключение ODBC

    Используется для подключения к одному из источников данных ODBC.

    Параметры подключения

    При настройке подключения задаются следующие параметры:

    • Метка — содержит задаваемое пользователем имя подключения.
    • Строка подключения — строка вида DSN | ODBC connection string . Выбирается один из настроенных в системе источников данных или указывается строка подключения в формате установленного в системе драйвера ODBC.

    Примечание: В Loginom Desktop может указываться File DSN (файл с настройками подключения).

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

    Примечание: Необходимо учитывать, что источники данных, заданные в разделе «Пользовательский DSN» администратора источников данных ODBC, доступны только создавшим их пользователям. Поэтому эти источники могут быть недоступны пользователю, из-под которого запускается приложение/служба Loginom. Рекомендуется создавать источники данных ODBC в разделе «Системный DSN», поскольку они доступны всем пользователям.

    • Тестировать — тест указанных настроек подключения.
    • Логин — логин пользователя БД.
    • Пароль — пароль пользователя БД.
    • Показывать системные таблицы — при установке этого флага в мастере импорта, использующего данное подключение, становятся видимы доступные пользователю системные таблицы БД (необходимо ставить при подключении к файлу Excel).
    • Обрамлять имена кавычками — если имена объектов базы данных (например, имена таблиц, полей) содержат пробелы или зарезервированные символы, то необходимо использовать обрамляющие символы, фиксирующие начало и конец имени.
    • Не использовать клиент СУБД — для подключений ODBC эта опция не используется.
    • Очищать пул при деактивации — очищает пул часто используемых в пакетной обработке и пакетов Loginom Integrator, сохраненных для быстрого вызова, после деактивации узла. По умолчанию этот параметр отключен.
    • Тайм-аут подключения (c) — задает предельное время подключения, значение по умолчанию 20 секунд. Если импорт из базы данных или экспорт в базу данных будет выполняться в режиме игнорирования ошибок, то в случае неудавшегося подключения в течение установленного времени, соответствующая ошибка будет записана в выходной порт Статус выполнения узла Импорт из БД/Экспорт в БД, а при импорте/экспорте в обычном режиме — выполнение узла завершится ошибкой. Параметр активен, если поддерживается драйвером.
    • Комментарий — в этой форме можно оставить любую справочную информацию о подключении.

    Примечание: Для подключения необходима установка драйвера ODBC той же разрядности, что и разрядность приложения/сервера Loginom. В 64-разрядных ОС используются два администратора источников данных ODBC 32-разрядный C:\Windows\SysWOW64\odbcad32.exe и 64-разрядный C:\Windows\System32\odbcad32.exe.

    Список предустановленных в ОС Windows драйверов ODBC:

    • SQL Server
    • Microsoft ODBC for Oracle
    • Microsoft Access Driver (*.mdb)
    • Microsoft dBase Driver (*.dbf)
    • Microsoft Excel Driver (*.xls)
    • Microsoft Paradox Driver (*.db )
    • Microsoft Text Driver (.txt; .csv)
    • Microsoft Visual FoxPro Driver

    Список драйверов ODBC, для которых предусмотрено использование строки подключения:

    • Различные драйверы для SQL Server
    • Microsoft Text Driver
    • Firebird/InterBase® driver
    • Microsoft Excel Driver
    • Microsoft Access Driver
    • Microsoft dBASE Driver
    • Драйверы для Oracle
    • SQLite3 ODBC Driver
    • Драйверы для MySQL
    • Microsoft Paradox Driver
    • Microsoft Visual FoxPro Driver
    • Драйверы для PostgreSQL
    • Драйверы для Sybase/Adaptive Server Enterprise
    • Драйверы для Apache Hive
    • Драйверы CData для Excel
    • Драйверы CData для Access
    • Драйверы для SAP HANA

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

    Смотри также:

    • Информация в русском разделе википедии
    • Сайт с описанием правил и примеров написания строк подключения
    • Примеры написания строк подключения к разным источникам данных

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *