Где хранятся настройки об источнике данных ODBC? Настройка источников данных ODBC в windows

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.

В книге описывается сервер сценариев Windows Script Host (WSH) версии 5.6, который является одним из стандартных компонентов Windows ХР, а также может быть установлен в более ранних версиях Windows. Приводятся сценарии на языках VBScript и JScript, иллюстрирующие применение стандартных объектов WSH 5.6, включая создание из сценариев дочерних процессов и запуск сценариев на удаленных компьютерах. В качестве более сложных примеров рассматриваются сценарии, работающие с базами данных, управляющие приложениями Microsoft Office, организующие графический пользовательский интерфейс, использующие технологии ADSI (Active Directory Service Interface) и WMI (Windows Management Instrumentation) для решения задач администрирования. Освещены вопросы практической работы с XML-файлами и создания СОМ-объектов. Особое внимание уделяется вопросам безопасности при работе со сценариями, приводятся конкретные примеры настроек политик безопасности. К книге прилагается дискета с исходными текстами большинства примеров.

Книга:

Для получения доступа к созданной DBF-таблице из сценария WSH мы воспользуемся технологией ODBC (Open DataBase Connectivity). ODBC - это стандартное средство Microsoft для работы с реляционными базами данных различных форматов и производителей, способное обрабатывать запросы к базам на языке SQL (Structured Query Language, язык структурированных запросов).

Замечание

Для начального ознакомления с языком SQL можно порекомендовать книгу .

Вначале нам понадобится завести в системе ODBC-запись для связи с нашей базой, т.е. создать новый DSN (Data Source Name, имя источника данных). В Windows ХР это делается следующим образом.

Загрузим Панель управления (Control Panel) Windows (меню Пуск (Start)) и переключимся к классическому виду (рис. 9.6).


Рис. 9.6. Классический вид панели управления Windows ХР

Последовательно выберем пункты Администрирование (Administrative tools) и Источники данных (ODBC) (Data sources (ODBC)). В появившемся диалоговом окне выберем вкладку Системный DSN (System DSN), что позволит создать DSN, доступный всем пользователям компьютера (рис. 9.7).


Рис. 9.7. Администратор источников данных ODBC в Windows ХР

Нажмем кнопку Добавить (Add) и в появившемся окне выберем драйвер Microsoft dBase Driver (*.dbf) (рис. 9.8).

Тема нашего сегодняшнего разговора - 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) - удаление пользовательского (системного) источника данных.
  • lpszDriver - указатель на строку, содержащую имя драйвера, ассоциированного с конкретным типом БД;
  • lpszAttributes - указатель на строку атрибутов в форме ключевое слово - значение. Каждая такая пара должна заканчиваться символом \0, в конце строки атрибутов должен стоять двойной символ \0.

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

"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 = "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") { Exists = true; break; }

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

If (!Exists) { NewDSN(); }

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

Страница 13 из 17

Где хранятся настройки об источнике данных ODBC?

В предыдущих шагах "Установка соединения" и "Продолжаем устанавливать соединение" мы с Вами пользовались утилитой Администратор ODBC для настройки соединения. Мы его находили в панели управления. На самом деле это обычная программа Odbcad32.exe , которая находится по определенному пути. Тo есть ее можно напрямую запускать из программы и требовать, чтобы пользователь установил данные. Но есть и другой выход. Данные о на строке источников ODBC хранятся в реестре в разделе SOFTWARE/ODBC .

Вот эти данные. Мы теперь можем при желании вручную их править или программным путем, прося пользователя только указать файл. Итак, путь такой:

HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI\

Еще один способ программно воздействовать на настройки драйверов ODBC - это использовать функцию SQLConfigDataSource() .

Итак мы может настраивать ODBC следующими методами:

  • Утилита администрирования.
  • Реестр.
  • Функция SQLConfigDataSource() .

Функция SQLConfigDataSource()

Эта функция имеет следующий вид:

BOOL SQLConfigDataSource
HWND hwndParent,// Указатель на окно вызвавшее функцию
WORD fRequest,// Тип запроса
LPCSTR lpszDriver,// Пользовательское имя драйвера
LPCSTR lpszAttributes// атрибуты
);

Функция ворачивает TRUE , если выполнена удачно и FALSE если не удачно. Атрибут описывает тип команды и может быть следующим:

  • ODBC_ADD_DSN - Добавляем новый источник данных пользователя.
  • ODBC_CONFIG_DSN - Выбор конфигурации существующего источника данных пользователя.
  • ODBC_REMOVE_DSN - Удаляем существующий источник данных пользователя.
  • ODBC_ADD_SYS_DSN - Добавляем новый источник данных системы.
  • ODBC_CONFIG_SYS_DSN - Изменяем существующий источник данных системы.
  • ODBC_REMOVE_SYS_DSN - Удаляем существующий источник данных системы.
  • ODBC_REMOVE_DEFAULT_DSN - Удаляем заданный по умолчанию раздел спецификации источника данных из системы

Давайте попробуем???

// TestConfig.cpp: Defines the entry point for the console application.
//

#include "stdafx.h"
#include "windows.h"
#include "odbcinst.h"
#include "iostream.h"

void main()
{
if (!SQLConfigDataSource(NULL,ODBC_ADD_DSN,
"Microsoft Excel Driver (*.xls)",
"DSN=New Excel Data Source\0"
"Description=New Excel Data Source\0"
"FileType=Excel\0"
"DataDirectory=C:\\ExcelData\0"
"MaxScanRows=20\0"))
{
cout << "Error config ODBC" << endl;
}
}

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


В этой статье хочу рассказать как просто создать ODBC из командной строки в Windows XP.
ODBC строки подключения бывают Пользовательские, то есть доступны для текущего пользователя; Системные — доступны для всех пользователей компьютера и Файловые. Я использую системные. Для чего вообще нужно создавать из командной строки? Ведь можно просто зайти в и создать нужное соединение с базой вручную. Да, совершенно верно, можно и так. Но! Если у вас много компьютеров? А если вы передаете свой дистрибутив программы заказчику на самостоятельную установку? Проще делать это из командной строки.

Итак, для создания нового источника данных (или еще можно сказать — алиаса) ODBC из командной строки я использую встроенную в Windows XP утилиту odbcconf.exe . Вызвав "odbcconf /?" можно посмотреть ключи запуска. Всё очень просто: для создания системного источника нам нужен параметр CONFIGSYSDSN .
Проще будет показать примеры готовых cmd файлов.
Этот пример показывает создание источника данных с именем Alias базы MyBase для MS SQL сервера на сервере с именем SERVER и аутентификацией Windows:

Odbcconf CONFIGSYSDSN "SQL server" "DSN=Alias|Server=SERVER|database=MyBase|Trusted_Connection=Yes"

Пример создания источника для MS Access с именем Client для таблицы C:\client.mdb:

Odbcconf CONFIGSYSDSN "Microsoft Access Driver (*.mdb)" "DSN=Client|Driver=C:\WINDOWS\system32\odbcjt32.dll|FIL=MS Access|DBQ=C:\client.mdb|UID=DBA|PWD=pass|Description=Client"

Здесь Имя пользователя DBA , пароль pass , описание Client .

Видно, что для каждого типа источника, будь то MS SQL, Access или Visual FoxPro, нужны разные имена параметров. Все их знать не обязательно. И вот тут очень простая хитрость. Даже не хитрость, а так 🙂
Все системные источники данных хранятся в реестре Windows. Путь их хранения: . Если нужно создать источник данных для любого драйвера БД, я вручную создаю его через Панель управления — Администрирование — Источники данных (ODBC) , затем открываю реестр, нахожу созданный источник и в его значениях все эти имена параметров как на ладони. Например, нам нужно узнать какие параметры будут нужны в командной строке для создания источника подключения к Excel. Для этого вручную создаем источник с именем test к файлу c:\test.xls . Смотрим в реестр и видим:

Аккуратно переписываем параметры и получаем по аналогии с вышеуказанными примерами следующую командную строку для создания такого ODBC подключения:

Odbcconf CONFIGSYSDSN "Microsoft Excel Driver (*.xls)" "DSN=test|DBQ=c:\test.xls|DefaultDir=C:|Description=Test"

Итак, что мы имеем. Варьируя вручную параметры алиаса из Панели Управления и наблюдая результат в реестре Windows по адресу HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ , можно создать любой ODBC алиас из командной строки Windows.

Это всё. Если есть вопросы или у Вас есть что дополнить к этой теме, пишите в комментариях.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: