Сайт о телевидении

Сайт о телевидении

» » ODBC из командной строки Windows. Источники данных ODBC

ODBC из командной строки Windows. Источники данных ODBC


В этой статье хочу рассказать как просто создать 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.

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

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

Чтобы из приложения Access иметь доступ к базам данных SQL, необходимо установить соответствующий драйвер ODBC. Ряд драйверов ODBC поставляется вместе с Access (в том числе драйвер Microsoft SQL Server), и они могут быть установлены уже при инсталляции Access. Дополнительные драйверы ODBC, поддерживающие другие форматы данных, могут быть приобретены у независимых поставщиков. Microsoft Access требует 32-разрядных драйверов ODBC, совместимых с протоколом ODBC уровня 1. Приобретаемые драйверы должны быть проверены в работе с Microsoft Access.

Для того, чтобы посмотреть, установлен ли нужный драйвер на компьютере, выбирают Пуск, Настройка, Панель управления, Администрирование, Источники данных (ODBC).

В открывшемсяокне ODBC Data Source Administrator на вкладкеDrivers (Драйверы) будут представлены все установленные в системе драйверы ODBC.

Если драйверы ODBC установлены, то при выполнении операции с внешними данными становится доступным элементБазы данных ODBC (ODBC Databases()), который и позволяет перейти к процедуре подключения к внешнему источнику данных. Этот элемент отображается в спискеТип файла (Save as Type) при импорте в диалоговом окнеИмпорт (Import) , а при связи с таблицей - в окне Связь (Link) .

Для того чтобы получить доступ к базе данных SQL-сервера, необходимо определить источник данных. Источник данных ODBC - это термин, ис­пользуемый для ссылки на внешнюю базу данных. Для каждой базы данных сервера, с которой работает Access, должен быть создан источник данных. К источникам данных обращаются по именам. Создать источники данных позволяет программа Администратор ODBC. Каждый драйвер ODBC предъ­являет собственные требования к созданию и настройке источников данных.

Администратор ODBC позволяет настраивать и использовать три типа ис­точников данных:

источник данных типаUser DSN - пользовательский источник данных. Такие источники данных могут быть использованы только одним пользо­вателем, работающем на данном компьютере;

системный источник данныхSystem DSN. Он предназначен для всех поль­зователей и системных служб на данном компьютере;

файловый источник данныхFile DSN. Предназначен для совместной ра­боты многих пользователей разных компьютеров сети, на которых установлены одинаковые драйверы, для получения доступа к базе данных. При определении этого источника данных, в отличии от других, указывается файл, в котором сохраняется описание источника. Файл имеет расширение.dsn. Этот файл должен быть доступен на всех компьютерах сети, пользователи которых имеют к нему доступ.

Рассмотрим создание источника данных на примере User DSN – пользовательского источника данных. Процедура создания источников данных других типов практически не имеет отличий и состоит в следующем.

Активизируют диалоговое окно ODBS Data Source Administrator и выбирают в нем вкладку User DSN. Первоначально, в нем нет источников данных для SQL Server. Для создания нового источника данных щелкают по кнопке Add и в окне Create New Data Source выбирают драйвер SQL Server, для которого создается источник.

После выбора драйвера и нажатия кнопки Готово к работе подключается мастер создания нового источника данных. В окне мастера Create a New Data Source to SQL Server:

вводят имя (Name) источника данных, которое будет использоваться при определении источника данных во время подключения к базе данных сервера;

вводят описание(Description), которое поможет определить назначение базы данных, используемой в качестве источника данных;

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

В следующем диалоговом окне выбирают способ проверки прав пользователя на доступ к SQL-серверу при подключении к нему. К SQL Server можно подключаться, используя два режима регистрации:

по доверительному соединению , при котором пользователь, успешно зарегистрировавшийся в сети Windows NT и представленный в списках пользователей сервера, не проверяется дополнительно. Сервер доверяет результатам этой проверки. Этот режим задается при выборе строкиWith Windows NT authentication using the network login ID. В дальнейшем произ­водится только проверка на право выполнения тех или иных работ с объ­ектами баз данных;

путем проверки самим SQL Server идентификатора пользователя и пароля, передаваемых непосредственно серверу. Этот режим задают при выборе строкиWith SQL Server authentication using a login ID and password entered by the user. Результаты проверки, выполненной Windows NT, не учитыва­ются. Пользователь должен быть известен серверу под этим именем.

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

После установки в следующем окне еще ряда параметров мастер завершает создание нового источника данных выводом окнаODBC Microsoft SQL Server Setup с информацией о его параметрах.

Нажав кнопкуTest Data Source, можно произвести тестирование нового ис­точника данных. Результаты тестирования отобразятся в соответствующем окне.

Выполнив рассмотренные шаги по созданию источника данных и возвратившись в окноODBC Data Source Administrator, в списке на вкладке User DSN увидят строку с именем нового источника данных.

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

Для просмотра или изменения параметров существующего источника данных выбирают его имя в спискеUser Data Sources и нажимают кнопкуConfigure (Настройка). Выполняют необходимые действия по изменению источника в диалоговых окнах, которые в точности повторяют рассмотренные выше.

Для удаления источника данных выбирают его имя в спискеUser Sources и нажимают кнопкуRemove (Удалить).

В каждом диалоговом окне Администратора ODBC имеется кнопкаСправка ,нажав которую, можно получить дополнительные сведения по каждому параметру источника данных.

Связь с таблицами баз данных SQL Server

Из приложений, созданных в Access, можно связаться с таблицами базы данных на сервере. Связанные таблицы, оставаясь на сервере в формате источника, отображаются в окне базы данных Access. Эти таблицы могут быть использованы наряду с локальными таблицами базы дан­ных Access при создании запросов, форм, отчетов привычными диалоговыми средствами Access. Связанные таблицы можно просмотреть и в режиме конст­руктора, однако, никакие изменения структуры таблицы невозможны.

Для создания связи с внешними таблицами предназначена команда Файл/Внешние данные/Связь с таблицами (File/Get External Data/Link Tables). При выполнении этой команды открывается окноСвязь (Link), в котором для создания связи с таблицами из внешних баз данных ODBC, нужно выбрать в полеТип файлов строкуODBC Databases ().

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

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

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

Если связанные таблицы включены в схему БД Access и между ними уста­новлены связи, то в режиме таблицы для записи главной таблицы отобра­жаются записи подчиненной. По умолчанию в свойствах связан­ной таблицы, открываемых в режиме конструктора, строкаИмя подтаблицы имеет значение[Авто]. Для разрыва связи с таблицей на сервере достаточно удалить ее, как удаляют другую таблицу локальной базы данных, выполнив, командуПравка (Edit/Delete) в окне базы данных. При этом таблица на сервере удалена не будет. Будет выведено сообщение о разрыве связи.

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

Все связанные таблицы и параметры их источников данных можно увидеть в окне Диспетчер связанных таблиц (Linked Tables Manager), которое откры­вается по одноименной команде, представленной в окнеСлужебные про­граммы (Database Utilites), вызываемом командойСервис|Служебные про­граммы (Tools/Database Utilites). В этом окне можно обновить связь, если изменилось местоположение или другие параметры источника данных.

Продолжаем разбор функций операционной системы Windows 10. Сегодня речь пойдёт об источнике данных ODBC на 32 разрядной версии компьютера Windows 10. ODBS – это программный интерфейс, позволяющий приложениям получать доступ к данным в системах управления базами данных (СУБД), основанных на языке SQL. Чтобы открыть окно администратора источника данных ODBC, в нижнем левом углу экрана нажмите на кнопку Пуск. В открывшемся окне нажмите на вкладку – Все приложения .

Далее, в списке всех приложений, в самом низу, нажмите на вкладку Средства администрирования . В открывшемся списке нажмите на вкладку – Источники данных ODBC (32 разрядная версия) . Обратите внимание, что здесь есть ODBC и для 64 разрядной версии Windows 10. .

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

– Трассировка ODBC позволяет создавать журналы вызовов драйверов ODBC для использования службой поддержки или для оказания помощи при отладке приложений.

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

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

– Файловый DSN, файловый источник данных ODBC позволяет установить связь с этим источником. Пользователи, у которых установлены одинаковы драйверы, могут применять их совместно.

– Драйверы ODBC позволяют программам ODBC получать сведения из источника данных ODBC. Драйверы устанавливаются с помощью программы установки.

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

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

Настройка источника данных ODBC в Windows

Если ваши клиенты ArcGIS и Informix установлены на компьютере с ОС Windows, выполните для создания источника данных ODBC следующие шаги.

  1. Откроется диалоговое окно Windows .
  2. Щелкните закладку Системный DSN (System DSN) .
  3. Щелкните Добавить (Add) .

    Откроется диалоговое окно Создание нового источника данных (Create New Data Source) , отображающее список драйверов ODBC, которые установлены в вашей системе.

  4. Выберите IBM INFORMIX ODBC DRIVER и щелкните Готово (Finish) .

    Откроется диалоговое окно Informix ODBC Driver Setup .

  5. Создайте источник данных администратора, впечатав имя источника данных в строку Имя источника данных (Data Source Name) .
  6. Щелкните закладку Подключение (Connection Tab) , чтобы настроить связность подключения.
  7. Выберите имя сервера и базы данных из ниспадающих списков Имя сервера (Server Name) и Имя базы данных (Database Name) , соответственно.
  8. Выберите olsoctcp из ниспадающего списка Протокол (Protocol) .
  9. Введите имя хоста и имя сервиса в соответствующих тестовых строках.
  10. Введите действующее имя пользователя и пароль в текстовых строках и Пароль (Password) .
  11. Щелкните Применить&Проверить подключение (Apply&Test Connection) , чтобы убедиться, что параметры подключения установлены корректно.
  12. Если подключение будет успешно, удалите имя пользователя и пароль из текстовых строк Идентификатор пользователя (User Id) и Пароль (Password) , щелкните Применить (Apply) , затем переходите к следующему шагу. Если подключение не выполнено, проверьте правильность введенной информации и попробуйте еще раз.

  13. Щелкните закладку Параметры среды (Environment Tab) , чтобы настроить параметры среды.
  14. Установите локальные параметры, выполнив следующие действия:
    • Введите необходимую информацию в текстовые строки Региональные параметры клиента (Client Locale) и Региональные параметры базы данных (Database Locale) .
    • Введите необходимую информацию о местоположении в текстовую строку Местоположение клиента (Client Locale) и отметьте параметр Использовать региональные параметры базы данных сервера (Use Server Database Locale) .
  15. Параметр Cursor Behavior должен быть установлен на 1 – Preserve , так как ArcGIS требует, чтобы курсоры Informix оставались открытыми и активными в течении операции COMMIT базы данных.

    Установка параметра Cursor Behavior на 0 – Close может иметь нежелательный эффект в процессе загрузки и обновления данных.

  16. Нажмите кнопку Применить (Apply) .
  17. Щелкните OK чтобы закрыть диалоговое окно Informix ODBC Driver Setup .

Созданный вами источник данных появится в списке Системные источники данных (System Data Sources) на закладке Системные DSN (System DSN) диалогового окна Администратор источников данных ODBC (ODBC Data Source Administrator) . Вы можете обновить источники данных, щелкнув кнопку Настройка (Configure) в этом диалоговом окне.

Настройка источника данных ODBC в Linux

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

Для работы с ArcGIS for Server поместите файл в директорию, к которой учетная запись администратора ArcGIS Server имеет, по меньшей мере, права доступа для чтения. Включите ссылку на этот файл и путь к нему в скрипт init_user_param.sh, чтобы ArcGIS for Server мог его найти.

В файле нужно указать следующие значения:

[] Database= Servername= CursorBehavior=1 UNICODE=UCS-2

Имейте в виду следующее:

  • Укажите вместо имя, которое вы хотите использовать. Для каждой базы данных или базы геоданных, к которой вы хотите подключаться, необходимо создать имя источника данных. Имя каждого источника данных в файле odbc.ini должно быть уникальным.
  • Укажите вместо имя базы данных Informix, для которой вы создаете имя источника данных. Имя базы данных может отличаться от имени источника данных.
  • Укажите вместо имя вашего сервера Informix, совпадающее с именем в файле INFORMIXSQLHOSTS.
  • Значение CursorBehavior должно быть 1, чтобы курсоры сохранялись вне границ транзакций.
  • В разделе ODBC файла odbc.ini должна быть строка UNICODE=UCS-2.

Ниже представлен пример файла odbc.ini с включенными в него источниками данных ODBC для трех баз геоданных: sde_base, sde_dev и sde_prod.

Database=sde_base Servername=myhost_base CursorBehavior=1 Database=sde_dev Servername=myhost_dev CursorBehavior=1 Database=sde_prod Servername=myhost_prod CursorBehavior=1 UNICODE=UCS-2