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 は任意ですが、デバッグに役立ちます) :

イメージをダウンロードし、TDS と必要な ODBC ライブラリを追加するよう Dockerfile を設定する

Dockerfile を作成します。
Dockerfileの内容を追記します:
新しいDockerイメージをビルドします:
docker-compose.yml ファイルを作成します。
YAML に以下の内容を追加します。
コンテナを起動します:
コンテナを起動すると、次のように表示されるはずです。
コンテナが起動していることを確認します。

ODBC 接続をテストする

ClickHouse clientでログインします:
リモートの MSSQL データベーステーブルに対して、odbc テーブル関数を使用した SELECT をテストします。
odbc テーブルエンジンを使用して、リモートテーブルを作成することもできます:
新しいリモートテーブルをテストするには、SELECTクエリを使用します:
詳細については、以下をご覧ください。
最終更新日 2026年7月4日