Skip to main content

Вопрос

Как настроить ClickHouse с использованием Docker-образа для подключения к Microsoft SQL Server?

Ответ

Примечания к этому примеру
  • Используется Docker-образ ClickHouse на базе Ubuntu
  • Используется драйвер FreeTDS
  • Используется MSSQL Server 2012R2
  • Имя хоста Windows в этом примере — MARSDB2.marsnet2.local, IP-адрес: 192.168.1.133 (укажите свой хост и/или IP-адрес)
  • Имя экземпляра MSSQL — MARSDB2
  • Логин MSSQL и пользователь базы данных — sql_user

Пример настройки в MSSQL для тестирования

База данных и таблица, созданные в MSSQL: Пользователь входа в MSSQL, sql_user: Роли членства в базе данных для sql_user: Пользователь базы данных, связанный с учётной записью входа:

Настройка ClickHouse с помощью ODBC

Создайте рабочий каталог:
Создайте файл odbc.ini:
Добавьте следующие записи, чтобы изменить имя DSN и IP-адрес:
Создайте файл odbcinst.ini:
Добавьте следующие записи (trace необязателен, но полезен при отладке):

Настройте Dockerfile для загрузки образа и добавления TDS, а также необходимых библиотек ODBC

Создайте Dockerfile:
Добавьте содержимое файла Dockerfile:
Соберите новый Docker-образ:
Создайте файл docker-compose.yml:
Добавьте в YAML следующее содержимое:
Запустите контейнер:
После запуска контейнера должно появиться что-то вроде этого:
Убедитесь, что контейнер запущен:

Проверка ODBC-подключения

Подключитесь с помощью клиента ClickHouse:
Проверьте запрос SELECT к таблице удалённой базы данных MSSQL с помощью табличной функции odbc:
Вы также можете создать удалённую таблицу с использованием движка таблицы odbc:
Используйте запрос SELECT, чтобы проверить новую удаленную таблицу:
Дополнительную информацию см. в следующих источниках:
Последнее изменение 4 июля 2026 г.