Passer au contenu principal
clickhouse-jdbc-bridge contient du code expérimental et n’est plus pris en charge. Il peut présenter des problèmes de fiabilité et des vulnérabilités de sécurité. Utilisez-le à vos propres risques. ClickHouse recommande d’utiliser les fonctions de table intégrées à ClickHouse, qui offrent une meilleure alternative pour les scénarios de requêtes ad hoc (Postgres, MySQL, MongoDB, etc.).
La fonction de table JDBC renvoie une table connectée via un pilote JDBC. Cette fonction de table nécessite l’exécution d’un programme distinct, clickhouse-jdbc-bridge. Elle prend en charge les types Nullable (d’après le DDL de la table distante interrogée).

Syntaxe

jdbc(datasource, external_database, external_table)
jdbc(datasource, external_table)
jdbc(named_collection)

Exemples

Au lieu d’un nom de base de données externe, on peut spécifier un schéma :
SELECT * FROM jdbc('jdbc:mysql://localhost:3306/?user=root&password=root', 'schema', 'table')
SELECT * FROM jdbc('mysql://localhost:3306/?user=root&password=root', 'select * from schema.table')
SELECT * FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
SELECT *
FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
SELECT a.datasource AS server1, b.datasource AS server2, b.name AS db
FROM jdbc('mysql-dev?datasource_column', 'show databases') a
INNER JOIN jdbc('self?datasource_column', 'show databases') b ON a.Database = b.name
Dernière modification le 25 juin 2026