odbc Табличная Функция
Возвращает таблицу, которая подключена через ODBC.
Синтаксис
Аргументы
Аргумент | Описание |
---|---|
datasource | Имя секции с настройками подключения в файле odbc.ini . |
external_database | Имя базы данных во внешней СУБД. |
external_table | Имя таблицы во external_database . |
Эти параметры также могут быть переданы с использованием именованных коллекций.
Для безопасной реализации ODBC подключений ClickHouse использует отдельную программу clickhouse-odbc-bridge
. Если ODBC драйвер загружается напрямую из clickhouse-server
, проблемы с драйвером могут привести к сбою сервера ClickHouse. ClickHouse автоматически запускает clickhouse-odbc-bridge
, когда это требуется. Программа ODBC моста устанавливается из того же пакета, что и clickhouse-server
.
Поля с NULL
значениями из внешней таблицы преобразуются в значения по умолчанию для базового типа данных. Например, если поле таблицы MySQL на удаленном сервере имеет тип INT NULL
, оно преобразуется в 0 (значение по умолчанию для типа данных ClickHouse Int32
).
Пример использования
Получение данных из локальной установки MySQL через ODBC
Этот пример проверен на Ubuntu Linux 18.04 и MySQL сервере 5.7.
Убедитесь, что установлены unixODBC и MySQL Connector.
По умолчанию (если установлено из пакетов) ClickHouse запускается от имени пользователя clickhouse
. Таким образом, вам нужно создать и настроить этого пользователя на сервере MySQL.
Затем настройте соединение в /etc/odbc.ini
.
Вы можете проверить соединение, используя утилиту isql
из установки unixODBC.
Таблица в MySQL:
Извлечение данных из таблицы MySQL в ClickHouse: