4.5 Создание Connector/ODBC из исходного кода на Unix
Для сборки MySQL из исходного кода на Unix вам понадобятся следующие инструменты:
Рабочий компилятор ANSI C++. Известно, что работают GCC 4.2.1 или новее, Sun Studio 12.1 или новее, а также многие современные компиляторы поставщиков.
CMake.
Библиотеки и заголовочные файлы клиента MySQL. Для получения библиотек и заголовочных файлов клиента посетите https://dev.mysql.com/downloads/.
Должен быть установлен совместимый менеджер ODBC. Connector/ODBC известен своей работой с менеджерами
iODBCиunixODBC. Дополнительную информацию см. в разделе 3.2 «Менеджеры драйверов ODBC».Если вы используете кодировку символов, которая не скомпилирована в библиотеку клиента MySQL, установите определения кодировок символов MySQL из каталога
charsetsвSHAREDIR(по умолчанию,/usr/local/mysql/share/mysql/charsets). Эти определения должны быть установлены, если вы установили сервер MySQL на том же компьютере. Дополнительную информацию о поддержке кодировок символов см. .
После того, как вы подготовили все необходимые файлы, распакуйте исходные файлы в отдельный каталог, а затем запустите cmake с помощью следующей команды:
$> cmake -G "Unix Makefiles"
Типичные параметры и опции cmake
Возможно, вам потребуется помочь cmake найти заголовочные файлы и библиотеки MySQL, установив переменные среды MYSQL_INCLUDE_DIR, MYSQL_LIB_DIR и MYSQL_DIR в соответствующие расположения; например:
$> export MYSQL_INCLUDE_DIR=/usr/local/mysql/include
$> export MYSQL_LIB_DIR=/usr/local/mysql/lib
$> export MYSQL_DIR=/usr/local/mysql
При запуске cmake вы можете добавить опции в командную строку. Вот несколько примеров:
: Используйте, когда каталог заголовочных файлов ODBC не найден в системе
$PATH.: Используйте, когда каталог библиотек ODBC не найден в системе
$PATH.: Включает поддержку unixODBC.
iODBC— это библиотека ODBC по умолчанию, используемая при построении Connector/ODBC из исходного кода на платформах Linux. В качестве альтернативы,unixODBCможно использовать, установив эту опцию в “1”.-DMYSQLCLIENT_STATIC_LINKING=Статическая ссылка на библиотеку клиента MySQL. Динамическая ссылка на библиотеку клиента MySQL выбрана по умолчанию — то есть, опция cmakeboolean:MYSQLCLIENT_STATIC_LINKINGустановлена по умолчанию (однако двоичные дистрибутивы Connector/ODBC от Oracle ссылаются статически на библиотеку клиента). Если вы хотите выполнить статическую ссылку на библиотеку клиента MySQL, установите опцию вTRUE. См. также описание для опции-DMYSQLCLIENT_LIB_NAME=.client_lib_name_with_extension-DBUNDLE_DEPENDENCIES=: Включить для установки внешних зависимостей времени выполнения библиотек, таких как OpenSSL, вместе с коннектором. Для зависимостей, унаследованных от библиотеки клиента MySQL, это работает только в том случае, если эти зависимости включены в саму библиотеку клиента. Опция добавлена в v8.0.11.boolean-DMYSQLCLIENT_LIB_NAME=: Путь к библиотеке клиента MySQL. См. описание дляclient_lib_name_with_extensionMYSQLCLIENT_STATIC_LINKING. Для статической ссылки на библиотеку клиента MySQL используйте эту опцию для указания имени библиотеки клиента для статической ссылки. Также используйте эту опцию, если хотите выполнить динамическую ссылку на библиотеку MySQL-клиента, отличную отlibmysqlclient.so. cmake ищет библиотеку клиента по пути, указанному в переменной средыMYSQL_LIB_DIR; если переменная не задана, cmake ищет её в стандартных расположениях внутри папки, указанной в переменной средыMYSQL_DIR.-DMYSQL_CONFIG_EXECUTABLE=: Указывает местоположение утилиты , которая используется для получения значений переменных/path/to/mysql_configMYSQL_INCLUDE_DIR,MYSQL_LIB_DIR,MYSQL_LINK_FLAGSиMYSQL_CXXFLAGS. Значения, полученные перезаписываются значениями, предоставленными непосредственно cmake в качестве параметров.-DMYSQL_EXTRA_LIBRARIES=dependencies: При статической ссылке на библиотеку MySQL-клиента (-DMYSQLCLIENT_STATIC_LINKING=ON) и при установке MYSQL_LIB_DIR и MYSQL_INCLUDE_DIR (чтобы mysql_config не использовался для обнаружения настроек), используйте это для определения списка зависимостей, необходимых для библиотеки клиента.-DMYSQL_LINK_FLAGS=MySQL link flags-DMYSQL_CXXFLAGS=MySQL C++ linkage flags-DMYSQL_CXX_LINKAGE=1: Включает C++-связь с библиотекой клиента MySQL. По умолчаниюMYSQL_CXX_LINKAGEвключен для MySQL 5.6.4 или более поздних версий. Для MySQL 5.6.3 и более ранних версий эту опцию необходимо явно установить в1.
Шаги сборки для Unix
Для сборки библиотек драйвера выполните make:
$> make
Если возникнут ошибки, исправьте их и продолжайте процесс сборки. Если вы не можете завершить сборку, см. раздел 9.1 «Поддержка Connector/ODBC сообществом».
Установка библиотек драйвера
Для установки библиотек драйвера выполните следующую команду:
$> make install
Дополнительную информацию о процессе сборки см. в файле BUILD, который входит в состав исходного дистрибутива.
Тестирование Connector/ODBC на Unix
В дистрибутиве с собранными библиотеками предоставляются некоторые тесты для Connector/ODBC. Для запуска тестов:
Убедитесь, что в вашей системе есть файл
odbc.ini, с помощью которого можно настроить записи DSN. Образец файлаodbc.iniгенерируется процессом сборки в папкеtest. Установите переменную средыODBCINIв расположение вашего файлаodbc.ini.Настройте тестовый DSN в вашем файле
odbc.ini(см. раздел 5.5 «Настройка DSN Connector/ODBC на Unix» для получения подробностей). Образец записи DSN, который вы можете использовать для ваших тестов, можно найти в образцовом файлеodbc.ini.Установите переменную среды
TEST_DSNв имя вашего тестового DSN.Установите переменные среды
TEST_UIDи, возможно, такжеTEST_PASSWORDв имя пользователя и пароль для тестов, если это необходимо. По умолчанию тесты используют «root» в качестве пользователя и не вводят пароль; если вы хотите, чтобы тесты использовали другое имя пользователя или пароль, установитеTEST_UIDиTEST_PASSWORDсоответственно.Убедитесь, что ваш сервер MySQL запущен.
-
Выполните следующую команду:
$>
make test
© 2025 Oracle
Licensed under the GPLv2 License.