Permet à ClickHouse de se connecter à des bases de données externes via ODBC.
Pour mettre en œuvre des connexions ODBC en toute sécurité, ClickHouse utilise un programme distinct, clickhouse-odbc-bridge. Si le pilote ODBC est chargé directement depuis clickhouse-server, des problèmes de pilote peuvent faire planter le serveur ClickHouse. ClickHouse démarre automatiquement clickhouse-odbc-bridge lorsqu’il en a besoin. Le programme clickhouse-odbc-bridge est installé à partir du même paquet que clickhouse-server.
Ce moteur prend en charge le type de données Nullable.
Consultez une description détaillée de la requête CREATE TABLE.
La structure de la table peut différer de celle de la table source :
- Les noms de colonnes doivent être identiques à ceux de la table source, mais vous pouvez n’utiliser qu’une partie de ces colonnes, dans n’importe quel ordre.
- Les types de colonnes peuvent différer de ceux de la table source. ClickHouse tente de convertir les valeurs vers les types de données ClickHouse.
- Le paramètre external_table_functions_use_nulls définit la manière de gérer les colonnes Nullable. Valeur par défaut : 1. Si la valeur est 0, la fonction de table ne crée pas de colonnes Nullable et insère des valeurs par défaut à la place des valeurs nulles. Cela s’applique également aux valeurs NULL à l’intérieur des tableaux.
Paramètres du moteur
datasource — Nom de la section contenant les paramètres de connexion dans le fichier odbc.ini.
external_database — Nom d’une base de données dans un SGBD externe.
external_table — Nom d’une table de external_database.
Ces paramètres peuvent également être transmis à l’aide de collections nommées.
Récupération de données depuis une installation locale de MySQL via ODBC
Cet exemple a été testé avec Ubuntu Linux 18.04 et MySQL server 5.7.
Assurez-vous que unixODBC et MySQL Connector sont installés.
Par défaut (s’il est installé à partir de paquets), ClickHouse démarre avec l’utilisateur clickhouse. Vous devez donc créer et configurer cet utilisateur sur le MySQL server.
Configurez ensuite la connexion dans /etc/odbc.ini.
Vous pouvez vérifier la connexion à l’aide de l’utilitaire isql fourni avec unixODBC.
Table dans MySQL :
Table ClickHouse récupérant des données de la table MySQL :
Dernière modification le 1 juillet 2026