- unixODBC without the GUI
- Or everything you wanted to know about odbcinst but were afraid to ask
- Purpose
- What’s a ini file ?
- System versus User
- FILEDSN’s
- Why not vi ?
- What goes into them ?
- odbcinst.ini
- templates
- Configuring ODBC on Linux
- Sample Configuration Files
- Step 1: Set Environment Variables
- Step 2: Define the ODBC Data Sources in .odbc.ini
- Authentication Properties
- Direct and ZooKeeper Quorum Properties
- Step 3: (Optional) Define the ODBC Driver in .odbcinst.ini
- Step 4: Configure the Drill ODBC Driver
- Configuring .mapr.drillodbc.ini
- Next Step
- 8 ODBC и проект unixODBC
- Что такое проект unixODBC?
- ODBCConfig
- DataManager
- DriverManager
- Использование unixODBC с wine
- Использование unixODBC с wine
- Установка PHP с unixODBC
- Поддержка Apache DSO
- UnixODBC и 2000 год
- Библиотеки в unixODBC
- Утилиты командной строки
- Использование IBM DB2 с unixODBC
- Версия 7.1
- unixODBC и Sybase/MS SQL Server
- Введение
- Подготовка
- Что с ним делать
- Установка
- Настройка
- Шаблон драйвера
- Типовые драйверы
- Установка и настройка Cold Fusion и Interbase под Linux
- Получение ODBC-драйвера из Informix Client access или SDK, работающего с unixODBC
- Начинка unixODBC
- Файл odbc.ini
- Файл odbcinst.ini
- Графическое наполнение
- unixODBC без GUI
- Что такое ini-файл?
- Система и пользователь
- FILEDSN
- Почему не vi?
- Что входит в эти файлы?
- odbcinst.ini
- Шаблоны
- Потоки
- [.]odbc.ini
unixODBC without the GUI
Or
everything you wanted to know about odbcinst but were afraid to ask
Purpose
What’s a ini file ?
As part of unixODBC’s aim of reproducing the ODBC environment on non Windows platform’s the ini files and libodbcinst provide the same format and functionality.
System versus User
The system files are odbcinst.ini and odbc.ini (note no leading dot), and the user file is
/.odbc.ini in each user’s home directory (note leading dot).
The system file odbcinst.ini contains information about ODBC drivers available to all users, and the odbc.ini file contains information about DSN’s available to all users. These «System DSN’s» are useful for application such as web servers that may not be running as a real user and so will not have a home directory to contain a .odbc.ini file.
A good example of this is Apache and PHP with ODBC support. When the http server is first started it calls SQLAllocEnv as root. it then at a later time changes to the specified user (in my case nobody) and calls SQLConnect. If the DSN’s was not a system DSN then this fails.
FILEDSN’s
Why not vi ?
However since beta 1.6 the location of the system files odbcinst.ini and odbc.ini are determined by the configure script. The default location is /usr/local/etc, and if a prefix is specified the location is
What goes into them ?
odbcinst.ini
templates
-i install
-d driver
-f name of template file
Источник
Configuring ODBC on Linux
ODBC driver managers use configuration files to define and configure ODBC data sources and drivers. To configure an ODBC connection for Linux, complete the following steps:
Sample Configuration Files
Before you connect to Drill through an ODBC client tool on Linux, copy the following configuration files in /opt/mapr/drill/Setup to your home directory unless the files already exist in your home directory:
In your home directory, rename the files as hidden files. Use sudo if necessary:
Step 1: Set Environment Variables
Set the ODBCINI environment variable to point to the .odbc.ini in your home directory.
Example:
export ODBCINI=
Set the MAPRDRILLINI environment variable to point to .mapr.drillodbc.ini in your home directory.
Example:
export MAPRDRILLINI=
Set the LD_LIBRARY_PATH environment variable to point to your ODBC driver manager libraries.
Example:
export LD_LIBRARY_PATH=/usr/local/lib
You can have both 32- and 64-bit versions of the driver installed at the same time on the same computer.
Do not include the paths to both 32- and 64-bit shared libraries in `LD_LIBRARY_PATH` at the same time.
Only include the path to the shared libraries corresponding to the driver matching the bitness of the client application you use to access Drill.
Step 2: Define the ODBC Data Sources in .odbc.ini
Define the ODBC data sources in the
/.odbc.ini configuration file for your environment. To use Drill in embedded mode, set the following properties:
To use Drill in distributed mode, set the following properties. (These properties are described in detail in the Direct and ZooKeeper Quorum Properties section.)
The following Linux sample shows a possible configuration for using Drill in distributed mode.
Authentication Properties
If the Drillbit requires authentication, uncomment the AuthenticationType, add an AuthenticationType, and configure properties. If the Drillbit does not require authentication (or to configure no password protection), you can use the No Authentication option. You do not need to configure additional settings.
- Kerberos
- See the MIT Kerberos documentation for installing and configuring a Kerberos environment, which is beyond the scope of the information provided here.
- To specify the Kerberos mechanism:
- Set the AuthenticationType to Kerberos.
- Set the KrbServiceHost property to the FQDN of the Drill server host.
- Set the KrbServiceName property to the Kerberos service principal name of the Drill server.
- Plain (or Basic Authentication)
- Configure the UID to an appropriate name for accessing the Drill server.
- Set the PWD property to the password corresponding to the UID.
Direct and ZooKeeper Quorum Properties
To use Drill in distributed mode, set ConnectionType to Zookeeper, get the ZKQuorum and ZKClusterID values from the drill-override.conf file, and define the ZKQuorum and ZKClusterID properties. The drill-override.conf is in the /drill/drill- /conf directory. Format ZKQuorum as a comma separated list of ZooKeeper nodes in the following format:
To use Drill in embedded mode, do not define the ZKQuorum and ZKClusterID properties. Start Drill using the drill-localhost command, set ConnectionType to Direct, and define HOST and PORT properties. For example:
Driver Configuration Options describes configuration options available for controlling the behavior of DSNs using the Drill ODBC Driver.
Step 3: (Optional) Define the ODBC Driver in .odbcinst.ini
The .odbcinst.ini is an optional configuration file that defines the ODBC Drivers. This configuration file is optional because you can specify drivers directly in the .odbc.ini configuration file. The .odbinst.ini file contains the following sample configurations.
Example
Step 4: Configure the Drill ODBC Driver
Configure the Drill ODBC Driver for your environment by modifying the .mapr.drillodbc.ini configuration file. This configures the driver to work with your ODBC driver manager. The following sample shows a possible configuration, which you can use as is if you installed the default iODBC driver manager.
Example
Configuring .mapr.drillodbc.ini
To configure the Drill ODBC Driver in the .mapr.drillodbc.ini configuration file, complete the following steps:
Open the .mapr.drillodbc.ini configuration file in a text editor.
Edit the DisableAsync setting if you want to enable a synchronous ODBC connection for performance reasons. Change the default 0 to 1 to disable the asynchronous and enable the synchronous connection. A change in state occurs during driver initialization and is propagated to all driver DSNs.
Note: As of version 1.3.8 of the driver, the DriverManagerEncoding setting is automatically detected and set if necessary. The value depends on the driver manager used; it’s typically UTF-16 or UTF-32. iODBC uses UTF-32 and unixODBC uses UTF-16.
Save the .mapr.drillodbc.ini configuration file.
Next Step
Copyright В© 2012-2020 The Apache Software Foundation, licensed under the Apache License, Version 2.0.
Apache and the Apache feather logo are trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.
Источник
8 ODBC и проект unixODBC
Что такое проект unixODBC?
Цели проекта unixODBC состоят в том, чтобы разрабатывать и поддержать unixODBC, который призван стать окончательным стандартом для ODBC на не-MS Windows системах. Это должно включить поддержку GUI для KDE и GNOME. Платформы Microsoft включают много расширений в спецификацию ODBC, эти расширения также обеспечиваются unixODBC.
Группа разработчиков unixODBC достигла лучших на сегодняшний день результатов под Linux. Весь проект unixODBC распространяется согласно лицензиям GPL или LGPL. Наличие LGPL для библиотек позволяет применять их в коммерческом программном обеспечении с закрытыми исходными текстами.
ODBCConfig
Это приложение GUI, подобное MS ODBC Administrator. Это позволяет любому пользователю легко конфигурировать свои (пользовательские) источники данных. Пользователь root может также добавлять, удалять и настраивать общесистемные источники данных. Опции Driver меняются в зависимости от СУБД. ODBCConfig вызывает код Driver Config, чтобы позволить драйверу запрашивать пользователя относительно специфических опций.
Пользователь root может добавлять или удалять драйверы, используя ODBCConfig. Это скорее регистрация и отмена регистрации драйвера потому, что никакие файлы фактически не будут скопированы или перемещены, зато модифицируется информация системы ODBC.
Все зарегистрированные драйверы будут представлены пользователю на выбор при создании нового источника данных.
DataManager
DataManager мог бы называться Data Explorer. Это приложение GUI, которое позволяет пользователю просматривать и управлять источниками данных. Более точно: оно позволяет пользователю просматривать источники данных, начиная с имени источника и заканчивая таблицами, столбцами и индексами. Это также включает SQL-редактор, который позволяет пользователю представлять на рассмотрение источнику данных SQL-запросы и просматривать результаты.
DriverManager
ODBC-приложения делают ODBC-вызовы через DriverManager. DriverManager выполняет ряд задач для приложения:
- Обеспечение загрузки и выгрузки соответствующего драйвера
- Задачи проверки правильности
- Отображение данных и вызовов 3.5 на 3.0 и на 2.0
Большинство обращений к DriverManager передается на загруженный драйвер, чтобы он их дальше обработал сам.
Некоторые преимущества от использования ODBC DriverManager включают;
- Переносной (мобильный) код доступа к данным
- Связывание во время выполнения с источником данных (Data Source)
- Способность легко изменять источник данных
Использование unixODBC с wine
Когда Crystal Reports запущен под WINE и использует ODBC, появляется сообщение о том, что строка соединения недопустима (сообщение об ошибке: «Unable to connect: Incorrect log on parameters»).
Дело в том, что Crystal Reports обращается к реестру Windows, чтобы найти там настройки драйвера для DSN в секции ODBC.INI реестра. Так как установка драйвера находится в файловой системе Linux, ничего хорошего он там не находит, что и приводит к ошибке.
Чтобы исправить положение надо ввести соответствующую запись в реестр. Новая запись может располагаться в дереве HKEY_CURRENT_USER или в HKEY_LOCAL_MACHINE и выглядит так: Software->ODBC->ODBC.INI-> -> Driver=»not blank», где определяет соответствующий DSN. Установка для драйвера не имеет значения, за исключением того, что это не должно быть пустой строкой. Такая схема применима и для других программ.
Использование unixODBC с wine
Когда Crystal Reports запущен под WINE и использует ODBC, появляется сообщение о том, что строка соединения недопустима (сообщение об ошибке: «Unable to connect: Incorrect log on parameters»).
Дело в том, что Crystal Reports обращается к реестру Windows, чтобы найти там настройки драйвера для DSN в секции ODBC.INI реестра. Так как установка драйвера находится в файловой системе Linux, ничего хорошего он там не находит, что и приводит к ошибке.
Чтобы исправить положение надо ввести соответствующую запись в реестр. Новая запись может располагаться в дереве HKEY_CURRENT_USER или в HKEY_LOCAL_MACHINE и выглядит так: Software->ODBC->ODBC.INI-> -> Driver=»not blank», где определяет соответствующий DSN. Установка для драйвера не имеет значения, за исключением того, что это не должно быть пустой строкой. Такая схема применима и для других программ.
Установка PHP с unixODBC
Поддержка Apache DSO
Имеются два способа обхода проблемы. Необходимо определить и экспортировать следующие переменные среды перед формированием apache: Или пересоберите unixODBC без поддержки потоков, конфигурируя его так:
В обоих случаях не забывайте удалять файл config.cache из корневого каталога Apache или unixODBC
UnixODBC и 2000 год
Поскольку ничего из вышеупомянутой информации не сгенерировано кодом внутри unixODBC, каких бы то ни было проблем с 2000 годом в рамках кода unixODBC быть не должно. Могут быть сложности у конкретной СУБД или операционной системы, но они не имеют отношения к пакету unixODBC.
Библиотеки в unixODBC
INI-библиотека представляет собой библиотеку функций нужных, чтобы помочь в разработке кода для взаимодействия с INI-файлами. Будущая расширенная версия этой библиотеки скорее всего станет стандартной библиотекой Linux, что позволит рассматривать INI-файлы как стандартный формат новых файлов конфигурации в ОС Linux.
Log-библиотека представляет собой комплект функций нужных, чтобы создать средство регистрации событий. Это используется odbcinst и unixODBC Driver Manager. Планируется поддержка системы регистрации событий в UNIX.
List-библиотека представляет собой набор маленьких и простых функций для создания, управления и удаления связанных списков Эти функции служат, чтобы усилить код для работы связанных списков в unixODBC и обеспечить основу для поддержки курсора.
Библиотека odbcinst обеспечивает приложения и другие компоненты unixODBC способностью к чтению и записи системной информации ODBC. Причем неважно, как или где эта информация сохранена. Это осуществляет основной API из MS и добавляет несколько функций для удобства. Одно из таких расширений: добавление нескольких API для работы с ODBC-программами Config в среде KDE/Qt.
Библиотека Tree была создана, чтобы хранить анализируемый код SQL. Она также должна использоваться в будущих версиях, чтобы сохранить синтаксис SQL в намного более реалистичном виде.
Библиотека SQI реализует сильно облегченный обработчик SQL, который использует текстовые файлы для хранения данных. Это дополнено ODBC-драйвером, чтобы создать очень открытую СУБД для маленьких наборов данных. Строго рекомендуется, чтобы все использование SQI было сделано через ODBC-драйвер: это позволит источнику данных превратиться в нормальную СУБД без того, чтобы перетранслировать исходный код.
Разработка SQI управлялась желанием включить поддержку ODBC в KDE и в соответствии с необходимостью создания полноценной СУБД, чтобы позволить использование. SQI для этого вполне достаточна.
Библиотека SQP представляет собой SQL-анализатор, основанный на lex/yacc. Это было выдрано из SQI так, чтобы общий анализатор SQL можно было бы обеспечивать для всех частей unixODBC, в частности, в драйверах и источниках данныхх, основанных не на SQL. Текущее понимание синтаксиса SQL очень ограничено, но это должно быть расширено в будущем.
Утилиты командной строки
odbcinst представляет собой инструмент, который был создан для помощи тем, кто разрабатывает скрипты и RPM-пакеты для драйверов, чтобы иметь возможность легко создавать и удалять записи в файлах odbc.ini и odbcinst.ini. Этот инструмент командной строки связан с разделяемой библиотекой (libodbcinst.so) и является частью компонента odbcinst в unixODBC.
isql представляет собой инструмент, который позволяет пользователю выполнять SQL-команды в пакете или в интерактивном режиме. Это имеет некоторые интересные опции типа опции, чтобы генерировать вывод, в виде таблицы на HTML.
Использование IBM DB2 с unixODBC
Сначала установите клиентский пакет доступа DB2 от IBM, это установит IBM CLI драйвер, который работает с unixODBC как ODBC-драйвер.
При использовании клиентского пакета доступа, определите клиентский доступ под неким именем, например, db2inst1, а затем создайте запись в файле odbcinst.ini: Параметр DontDLClose требуется, чтобы избежать проблемы в драйвере, когда он динамически загружен.
Теперь настройте файл odbc.ini примерно так: Затем, когда происходит соединение, Вы ДОЛЖНЫ ИМЕТЬ переменную среды DB2INSTANCE, установленную на корректный образец db2, например:
Версия 7.1
Единственое различие сводится к имени пакета, используемого для доступа. CLI-драйвер теперь должен быть найден в DB2 Personal Developer’s Edition V7.1.
Использование версии 7.1 формирует путь к библиотеке:
Вы также должны добавить «/usr/IBMdb2/V7.1/lib» в /etc/ld.so.conf.
Другая полезная подсказка. При использовании PHP+DB2 под AIX через unixODBC к IBM-серверу (4 процессора, мультиядра и т.д), возникало сильное замедление работы. Имеется ошибка в стеке TCP/IP IBM. После изучения странички http://www-4.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/document.d2w/report?last_page=list.d2w&fn=1006553 и выполнения команд был достигнут поистине огромный рост производительности (в десятки раз!).
unixODBC и Sybase/MS SQL Server
Введение
Этот документ поможет пользователям unixODBC обратиться к MS SQL Server, а также к Sybase SQL Server из клиентов unixODBC.
Будем считать, что Вы имеете недавнюю версию unixODBC на своей системе и где-то выполняется сервер. SQL Server должен позволять удаленный доступ и поддерживать соединения, использующие TCP/IP. Конечно, нужны также идентификатор для входа в систему и пароль.
Подготовка
MS SQL Server был порожден партнерством между Microsoft и Sybase. Впоследствии эти два сервера остались очень похожими. Фактически настолько похожими, что протокол связи, используемый клиентским программным обеспечением, чтобы связаться с этими серверами является фактически идентичным. Этот протокол называется Табличным Потоком Данных (Tabular Data Stream, сокращенно TDS).
Brian Bruns создал проект проект открытых исходных текстов, призванный обеспечить реализацию протокола TDS для всех желающих. Проект называется FreeTDS и может быть найден на сайте http://www.freetds.org.
Что с ним делать
FreeTDS приходит с несколькими интерфейсами TDS с ODBC. ODBC-драйвер, включенный в FreeTDS, работает хорошо для типичных запросов, типа запроса данных. Однако, этот ODBC-драйвер не поддерживает менее используемые функции каталога ODBC. FreeTDS хорошо работает с unixODBC, но Вы скачайте самую свежую версию, например, с ftp://ibiblio.org/pub/Linux/ALPHA/freetds.
Установка
Наиболее вероятно, что Вы скачали исходный текст, и этой точки зрения я буду придерживаться. Обычно установка из исходных текстов представляет собой проблему по причине отсутствия необходимых инструментов, но почти версии Linux их имеют. Распакуйте дистрибутив следующими командами: Как только Вы распаковали исходный текст, изучите файлы INSTALL и README.
Сначала определите некоторые переменные среды. Например, пользователь оболочки bash может добавлять следующее в свой файл /etc/profile.
Опции configure могут просматриваться, выполняя ./configure —help. Главное, должна быть указана опция выбора конфигурации —with-tdsver. Теперь соберем пакет и установим его:
Драйвер FreeTDS ODBC должен быть установлен в /usr/local/freetds/lib. Там должен появиться файл libtdsodbc.so.
Настройка
Регистрация SQL Server с TDS
FreeTDS должен знать несколько вещей относительно каждого сервера, с которым Вы хотите работать. Традиционно используется интерфейсный файл. FreeTDS может работать с файлом, называемым freetds.conf, но для упрощения примера применим старый метод. Файл интерфейсов может быть найден в каталоге /usr/local/freetds. Имеется пример для доступа к MS SQL Server: Под P450 здесь значится имя машины, на которой выполняется MS SQL Server. Имя может быть каким угодно. По умолчанию MS SQL Server слушает порт 1433.
Регистрация ODBC-драйвера через unixODBC
unixODBC должен знать ряд данных относительно всех ODBC-драйверов, которые Вы предполагаете использовать. Самый лучший способ этого достичь: применить графическую программу ODBCConfig, которая приходит с unixODBC. Альтернативный метод состоит в том, чтобы использовать команду odbcinst, которая также приходит с unixODBC. Мы сосредоточимся на использовании команды odbcinst. Создайте файл с именем tds.driver.template с несколькими строками, описывающими нужный драйвер:
Выполните odbcinst, предписывая ему создать запись драйвера, используя файл tds.driver.template. Обратите внимание, что Вы должны оставить пробел между параметром -f и именем файла шаблона:
Создание ODBC Data Source Name
Клиенты ODBC обычно будут работать с ODBC Data Source Names (DSN). Самый лучший способ создавать, редактировать и удалять DSN состоит в том, чтобы использовать инструмент ODBCConfig.
Снова мы используем команду odbcinst вместо него. Это делается потому, что программа ODBCConfig достаточно наглядна и понятна, но не все пользователи имеют установленные инструментальные средства unixODBC GUI. Снова начнем с создания файла-шаблона под именем tds.datasource.template, который содержит некоторые опции типа заданной по умолчанию базы данных и UID. Примечание: Вы будете использовать Ваш собственный Servername и UID:
Примечание: Servername не означает DNS-имя или IP-адрес сервера. Это должно соответствовать серверу из интерфейсного файла (в случае freetds.conf это значение между [], заголовок желательного раздела сервера).
Примечание: предыдущие команды выполнялись как root (обозначенный символом #), но теперь команда выполняется от имени обычного пользователя. Это значительно. Все пользователи системы совместно используют FreeTDS и ODBC-драйверы, но каждый пользователь имеет собственный список DSN (имеются исключения, но здесь они не актуальны). Так что создайте DSN как тот пользователь, который собирается использовать это:
unixODBC приходит с рядом инструментальных средств, которые позволяют Вам проверять работоспособность пакета. Используем инструмент командной строки isql. Он позволяет представлять на рассмотрение DSN команды (обычно это инструкции SQL) и принимать результаты:
Вы должны видеть сообщение о соединении и подсказку SQL. Если этого не наблюдается, либо проблема с конфигурацией, либо задана неправильная пара значений ID и PWD.
Теперь попробуйте простую команду SQL:
Шаблон драйвера
Создан шаблон драйвера, чтобы позволить программистам легко разрабатывать новые драйверы. Это содержит некоторые файлы типа make и все функциональные заголовки, требуемые для совместимости с ODBC 3.5.1. Некоторые функции имеют код, но большая часть оставлена для конкретной реализации.
Типовые драйверы
Двоичная переносимость драйверов для Linux ODBC когда-нибудь будет достигнута, но ODBC пока довольно плохо реализован под Linux в это время, и некоторые драйверы могут иметь проблемы. Это явление постепенно должно уменьшится, поскольку ODBC становится более используемым на Linux.
Сертифицированные драйверы
СУБД | Уровень ODBC | Устанавливается в odbcdrivers.ini | DriverConfig | Замечания | Поддержка | |
DB2 UDB для iSeries | http://www-1.ibm.com/servers/eserver/iseries/access/linux | 3.5 | Да | Да | Имеется драйвер, доступный для систем Intel и для разделов iSeries, выполняющих Linux. Драйвер соответствует ODBC 3.5 ANSI со способностью сохранять и обрабатывать Unicode-данные. Поддерживает тип SQL_WCHAR | Поддержка и закачка пакета: http://www-1.ibm.com/servers/eserver/iseries/access/linux |
Microsoft SQL Server и Microsoft Access | Вы можете использовать Bridge для работы с источником данных ODBC на Windows-машине | http://www.easysoft.com/products/oob/main.phtml | ||||
DB2 | http://www.ibm.com/db2 | 3.5 | No | No | Библиотека libdb2.so, которая является частью набора DB Connect, работает как ODBC-драйвер | Загрузить пакет можно с http://www-1.ibm.com/support/docview.wss?uid=swg21079056 |
Oracle | http://www.oracle.com | 3.5 | Да | Да | Загрузка свободноой тестовой версии: http://www.easysoft.com | support@easysoft.com news://news.easysoft.com/easysoft.public.oracle |
Easysoft ODBC-ODBC Bridge | от 2.0 до 3.5 | Да | Да | http://www.easysoft.com/products/oob/main.phtml. Easysoft’s ODBC-ODBC Bridge (пробная бесплатная версия) обеспечивает удаленный доступ к любому ODBC-драйверу | support@easysoft.com news://news.easysoft.com/easysoft.public.da2k.odbc-odbc-bridge http://www.easysoft.com | |
DB2 | http://www.starquest.com | 3.5 | Нет данных | Нет данных | http://www.starquest.com : StarSQL для UNIX 3.10 и выше, Solaris, AIX и Linux | www.starquest.com/support |
Sybase | http://www.sybase.com | 3.5 | Да | Нет | Бесплатная пробная версия доступна на http://www.easysoft.com | support@easysoft.com news://news.easysoft.com/easysoft.public.sybase |
Informix | http://www.informix.com | 3.51 | Нет | Нет | Драйвер от informix работает прекрасно, но Вы должны ознакомиться с сайтом разработчиков в плане свежей документации | |
AdabasD | www.softwareag.com/adabasd | 3.5 | Нет | Нет | ODBC-драйвер для AdabasD доступен для Solaris, HP-UX, AIX, Linux и нескольких других типов unix. | Подробности на сайте разработчика http://www.softwareag.com и в конференции comp.databases.adabas |
Empress | http://www.empress.com | . | . | . | . | . |
Postgres | http://www.postgresql.org | 2.5 | . | Да | Была взята Win32-версия (не из дистрибутива сервера), и она нормально работала с unixODBC с небольшими изменениями. Изменения отправлены координаторам проекта PostgreSQL | |
MySQL | http://www.mysql.com | . | . | . | Драйвер MyODBC (http://www.mysql.com/download.html) работает с unixODBC | http://www.mysql.com |
MiniSQL (он же mSQL) | http://www.Hughes.com.au | Смесь из различных уровней. Борется за достижение 3.51. Безуспешно | Да | Да | Alpha-версия | pharvey@codebydesign.com |
SQI | Очень ограниченные версии INSERT, SELECT, UPDATE и DELETE | . | Да (используются значения по умолчанию для файла) | Text File Driver (alpha) | pharvey@codebydesign.com | |
News Server | Реализована минимальная функциональность ODBC. Сильно ограниченное, но очень полезное подмножество SQL | . | Да | Расширенная версия Ke Jin’s Internet News Server ODBC-драйвера. News-серверы представляют собой источники данных, а группы новостей таблицы. | pharvey@codebydesign.com | |
YARD SQL | 3.5 | Сайт проекта YARD (http://www.yard.de). | ||||
Interbase | 3.5 | Да | Да | Доступен для Windows, Linux Intel, Solaris, HPUX, AIX и OS X | ftp://ftp.easysoft.com/pub/interbase | |
RDBMS Linter SQL | 3.5 | Да | Да | Оригинальный драйвер ODBC портирован на UNIX | www.relex.ru, www.relexus.com | |
Ovrimos Webbase | http://www.ovrimos.gr/download.php | 3.5 | Да | Да | http://www.ovrimos.gr/download.php | support@ovrimos.com |
Mimer SQL | http://www.mimer.com | 3.51 | Нет данных | Нет данных | Посетите сайт www.mimer.com/developers для сбора дополнительной информации и загрузки пробной версии высокопроизводительной СУБД | www.mimer.com/developers |
Ingres | http://www.cai.com | 3.51 | http://support.cai.com/techbases/ingres/4327.html | |||
Sap DB | http://www.sapdb.org | 3.51 |
Установка и настройка Cold Fusion и Interbase под Linux
Как и что делалось:
- 1. Под RH Linux 6.2 установлен UnixODBC 1.8.12 с применением для этой цели rpm-пакета с сайта Coding Apes ( http://grapeape.codingapes.com/unixODBC.xml). ODBC-диспетчер драйверов, обеспеченный ColdFusion, был заменен на диспетчер из UnixODBC:
- 2. Под RH Linux 6.1 используйте исходный текст с сайта http://www.unixodbc.org. Если Вы не нуждаетесь в графических инструментальных средствах, а для серверов обычно их не ставят), выполните: Остальное подобно описанному выше.
- 3. Конфигурируйте Interbase ODBC Driver, загрузите Interbase Driver с сайта Easysoft ( http://www.easysoft.com/products/interbase). Установите его, скопировав файлы в каталог /usr/local/lib. Теперь настройте Ваш файл odbc.ini в /opt/coldfusion/odbc/odbc.ini примерно так:
Получение ODBC-драйвера из Informix Client access или SDK, работающего с unixODBC
1. Установите переменную окружения INFORMIXDIR к корню Вашей установки Informix. Далее я считаю, что это /usr/local/informix.
2. Определите сервис online в файле /etc/services.
3. Создайте файл sqlhosts в каталоге $INFORMIXDIR/etc, который определяет все Ваши серверы базы данных.
4. Удостоверьтесь, что все библиотеки Informix найдены ld. Они размещены в каталоге $INFORMIXDIR/lib и его подкаталогах (это включает по крайней мере cli и esql). Обычно следует включить каталоги с библиотеками в файл /etc/ld.so.conf и выполнить команду ldconfig от имени root.
5. Определите переменную окружения ODBCINI, чтобы указать на Ваш системный файл odbc.ini, например: export ODBCINI=/etc/odbc.ini. Дело в том, что эта переменная представляет собой единственный способ управлять тем, где драйвер Informix ищет сведения о конфигурации.
6. Добавьте драйвер Informix в odbcinst.ini без пробелов между именами параметров и их значениями, например:
7. Определите Informix DSN в odbc.ini:
8. Теперь попробуйте выполнить тестовую команду isql miecr.
Если Вы получаете ошибку «Server %s is not listed as a dbserver name in sqlhosts», это, вероятно, вызвано пробелами в определении драйвера Informix в файле odbcinst.ini или в записи DSN в файле odbc.ini. Синтаксический анализатор драйвера очень легко ошибается.
Откуда и что можно скачать |
Формат дистрибутива unixODBC на сегодня доступен в формате tar+gzip. Это означает, что Вы должны: Скопировать файл unixODBC*.tar.gz в нужный Вам каталог. Распаковать его, например, командами: Выполнение этих команд создаст каталог unixODBC со всеми исходными файлами внутри. На момент написания данной работы последней версией была 2.2.6 (архив назывался unixODBC-2.2.6.tar.gz). В настоящее время на сайте CodingApes ( http://grapeape.codingapes.com) выложено несколько RPM-пакетов. Их также можно найти на http://edas.visaci.cz/en/unixodbc. RPM-пакеты для использования с версиями 7.0 и 8.0 Connectiva Linux (http://www.conectiva.com можно взять на. http://www.andrefelipemachado.hpg.com.br/linux/index.html. Версия для FreeBSD Nick Sayer создал порт unixODBC для FreeBSD. Ее можно найти на сайте http://www.freebsd.org/ports. Публичный доступ к CVS access также доступен для всех желающих работать с самыми последними исходными текстами. CVS-доступ есть на http://sourceforge.net/cvs/?group_id=1544. Так что Вы можете использовать следующие команды, Когда будет запрошен пароль для anonymous, просто нажмите клавишу Enter: Чтобы сформировать пакет из архива CVS, выполните следующую команду: Это будет формировать скрипт configure. Чтобы сформировать пакет из CVS, Вы нуждаетесь в некоторых инструментальных средствах:
Они могут быть найдены на web-сайте проекта GNU http://www.gnu.org или на его многоичисленных зеркалах. Построение библиотек и программ Установка теперь использует стандартный процесс GNU autoconf. Скомандуйте: По умолчанию файлы будут установлены в каталог /usr/local. Как и положено с configure, это расположение может быть изменено опцией prefix: Это установит каталоги в /usr/local/unixODBC. Чтобы соответствовать руководящим принципам GNU, файл odbcinst теперь установлен по умолчанию в Скрипт будет пытаться находить каталоги, которые необходимы для компонентов GUI, и если они не найдены (то есть, Вы не установили QT), построение пакета продолжится, но без частей GUI. Компоненты GUI (ODBCConfig и DataManager) требуют Qt не ниже 2.2 ( http://www.troll.no/dl/qtfree-dl.html). Библиотека SQI требует flex и yacc, чтобы анализировать команды SQL. Дистрибутив в целом зависит от наличия многих из стандартных инструментальных средств разработки, типа компилятора C/C++ (в настоящее время протестирован egcs). Начинка unixODBCData Flow Diagram (DFD) описывает все ключевые компоненты в окружении Linux ODBC. DFD пронумерована так, чтобы показать, что происходит при соединении с системой базы данных. 1. Приложение вызывает функцию (SQLAllocEnv, SQLAllocConnect, SQLConnect) из DriverManager. 2. DriverManager отвечает на SQLConnect драйвером базы данных, который соответствует заданному источнику данных (Data Source Name, DSN). 3. DriverManager загружает драйвер базы данных и просит, чтобы он установил связь с СУБД. 4. Драйвер базы данных может быть должен получить дополнительные опции из DSN, что выполняется им по ходу дела. 5. Драйвер базы данных использует специфическое для конкретной СУБД обращение, чтобы соединиться с базой данных. Файл odbc.iniОБРАТИТЕ ВНИМАНИЕ: файлы odbc.ini и odbcinst.ini являются системной информацией ODBC. Весь доступ (чтение или запись) к этой информации должен проходить через DriverManager или разделяемую библиотеку ODBCINST. Не обращайтесь к этим INI-файлам непосредственно! Файл odbc.ini хранит список источников данных и любых параметров для каждого из них. Имеются два типа файлов odbc.ini: системный (/etc/odbc.ini) и пользовательский ( /.odbc.ini). По умолчанию, DriverManager будет искать источники данных, используя следующую схему; 1. Используя переменную окружения, чтобы указать путь к пользовательскому файлу odbc.ini. Например, ODBCINI+/.odbc.ini. 2. Используя домашний каталог, заданный в файле /etc/passwd, чтобы найти путь для .odbc.ini. 3. Используя системный файл odbc.ini, который расположен в /etc/odbc.ini. Файлы odbc.ini предоставляют те же самые функциональные возможности за исключением того, что системные сервисы могут принимать более высокий уровень защиты на системном odbc.ini. Во всем остальном пользовательские и системные файлы совершенно равны. ini-файлы используют те же самые требования к синтаксису. Имена источников данных охвачены квадратными скобками. Параметры следуют в последующих строках и используют формат PropertyName=PropertyValue. Например; Каждое имя источника данных должно иметь, по крайней мере, определенный параметр driver. Это позволит DriverManager загружать драйвер, когда сделан запрос на соединение. Единственые параметры, с которыми работает сам DriverManager: DRIVER, TRACEFILE и TRACE. Другие параметры будут интерпретироваться уже драйвером. Секция [ODBC Data Sources] поддерживается в каждом файле odbc.ini. Файл odbcinst.iniЭтот ini-файл просто перечисляет все установленные драйверы. Синтаксис прост: имя, сопровождаемое параметром, который сообщает имя файла драйвера: Имя файла драйвера (в данном случае /usr/lib/libsybase.so.11) должно быть уникально. Дружественное имя (то есть Sybase 11) также должно быть уникально. Параметр Setup указывает на общедоступную (разделяемую) библиотеку, содержащую функции, которые нужно вызвать ODBC Config. ODBC Config вызовет эту библиотеку, чтобы получить специфические для конкретного драйвера имена параметров в ходе конфигурации источника данных. Если программа ODBC Config не может найти или использовать этот файл, она примет некоторые значения по умолчанию. Этот файл должен изменяться только разделяемой библиотекой ODBCINST или утилитой командной строки odbcinst. Графическое наполнениеСпецификации ODBC включают два случая, в которых GUI был бы особенно полезен. Проект LinuxODBC находится в процессе реализации GUI для обоих случаев. Случаи это такие: ODBC Config должен позволить пользователю настроить параметры, специфичные для конкретного драйвера. В MS это обработано через ODBC Admin, вызывающий драйвер и передающий ему дальнейшую инициативу. LinuxODBC не будет вынуждать драйвер делать такую работу. Вместо этого, ODBC Config вызовет библиотеку Drivers Setup, чтобы получить простой список реквизитов. ODBC Config обработает представление и сохранение этих реквизитов. Этот подход делает создание библиотек Driver Setup ОЧЕНЬ простым потому, что они должны обеспечить только список опций. DriverManager, вероятно, придется запрашивать пользователя относительно большего количества информации для входа в систему. С поддержкой графики это вполне реально. unixODBC без GUIМного людей используют unixODBC, но по ряду причин не формируют конфигурацию GUI и соответствующие утилиты (ODBCConfig и DataManager). Что такое ini-файл?ODBC сначала появился внутри Windows 3.0. В это время Windows использовала .ini-файлы, чтобы хранить информацию о конфигурации. Это текстовые файлы, содержащие данные в следующем формате: С появлением Windows NT, эти ini-файлы были заменены реестром, но API, чтобы обратиться к ним из ODBC, остался тем же самый. Windows имеет две функции в odbcinst.dll, которые позволяют приложениям и драйверам сделать запрос и изменять эти файлы: SQLGetPrivateProfileString и SQLPutPrivateProfileString. Как часть репродуцирования ODBC-среды на платформах не-Windows, unixODBC обеспечивает тот же самый формат ini-файлов и функциональные возможности с помощью библиотеки libodbcinst. Система и пользовательODBC делает различие между двумя типами ini-файлов. Системные ini-файлы разработаны, чтобы быть доступными, но не изменяемыми любым пользователем, а ini-файлы пользователя относятся только к какому-то специфическому пользователю и могут изменяться им. Системные ini-файлы: odbcinst.ini и odbc.ini (внимание: точек в начале имени нет!), а пользовательский: /.odbc.ini в домашнем каталоге пользователя (вот этот уже с точкой: скрытый). Системный файл odbcinst.ini хранит информацию относительно ODBC-драйверов, доступных всем пользователям, а файл odbc.ini содержит информацию относительно DSN, доступных всем пользователям. Эти системные DSN полезны для приложения типа web-серверов, которые не могут выполняться как реальный пользователь и соответственно не будут иметь домашнего каталога, чтобы хранить в нем файл .odbc.ini. Хороший пример этого: Apache и PHP с поддержкой ODBC. Когда http-сервер запущен, он от имени root вызывает SQLAllocEnv. Позже он меняет свою принадлежность на иного пользователя и вызывает SQLConnect. Если DSN не является системным, сервер потерпит неудачу. FILEDSNODBC 3 также имеет третий сорт DSN, файловый DSN. Они сохраняют информацию соединения в файле, который может быть доступен любому пользователю. UnixODBC в настоящее время не поддерживает файловый DSN, но такая поддержка планируется в ближайшее время, поскольку такой тип DSN весьма полезен. Он больше распространен в NT, чем в UNIX по причине того, такие файлы позволяют хранить данные на центральном сервере, который является доступным всем рабочим станциям, что избавляет от настройки всех систем сразу. Почему не vi?Все файлы конфигурации, необходимые unixODBC представляют собой простые текстовые файлы, так что не имеется никакой причины, из-за которой Вы не можете использовать Ваш любимый текстовый редактор для правки файлы. Однако, начиная с версии beta 1.6, расположение системных файлов odbcinst.ini и odbc.ini определено скриптом выбора конфигурации. Заданное по умолчанию расположение: /usr/local/etc, и если префикс определен, расположение будет Что входит в эти файлы?odbcinst.iniШаблоны-i Установить Потоки[.]odbc.iniЭто может быть записано в файл шаблона и вставлено в ini-файле для текущего (актуального) пользователя командой: Источник |