Skip to main content

问题

如何使用 Docker 镜像部署 ClickHouse 并连接到 Microsoft SQL Server?

答案

本示例的说明
  • 使用 ClickHouse Docker 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 的数据库成员身份角色: 具有登录名的数据库用户:

使用 ODBC 配置 ClickHouse

创建工作目录:
创建 odbc.ini 文件:
添加以下条目以更新 DSN 名称和 IP 地址:
创建 odbcinst.ini 文件:
添加以下条目 (trace 为可选,但有助于调试) :

配置 Dockerfile 以拉取镜像并添加 TDS 及所需的 ODBC 库

创建 Dockerfile:
在 Dockerfile 中添加以下内容:
构建新的 Docker 镜像:
创建 docker-compose.yml 文件:
将以下内容添加到 YAML 中:
启动容器:
启动容器后,你会看到类似下面的内容:
检查容器是否正在运行:

测试 ODBC 连接

使用 ClickHouse 客户端登录:
使用 odbc 表函数对远程 MSSQL 数据库中的表执行 SELECT 测试:
您还可以使用 odbc 表引擎来创建远程表:
使用 SELECT 查询测试新的远程表:
更多信息请参见:
最后修改于 2026年7月4日