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: