> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation de l’ODBC bridge

# clickhouse-odbc-bridge

Serveur HTTP simple servant de proxy pour le pilote ODBC. La principale motivation
était les segfaults potentiels ou autres défauts dans les implémentations ODBC, qui peuvent
faire planter l’ensemble du processus clickhouse-server.

Cet outil fonctionne via HTTP, et non via des pipes, de la mémoire partagée ou TCP, car :

* Il est plus simple à implémenter
* Il est plus simple à déboguer
* jdbc-bridge peut être implémenté de la même manière

<div id="usage">
  ## Utilisation
</div>

`clickhouse-server` utilise cet outil dans la fonction de table ODBC et StorageODBC.
Cependant, il peut aussi être utilisé comme outil autonome en ligne de commande avec les
paramètres suivants dans l’URL de la requête POST :

* `connection_string` -- chaîne de connexion ODBC.
* `sample_block` -- description des colonnes au format ClickHouse NamesAndTypesList, avec le nom entre backticks
  et le type sous forme de chaîne. Le nom et le type sont séparés par un espace, et chaque ligne par un
  saut de ligne.
* `max_block_size` -- paramètre facultatif, définit la taille maximale d’un bloc unique.
  La query est envoyée dans le corps de la requête POST. La réponse est renvoyée au format RowBinary.

<div id="example">
  ## Exemple :
</div>

```bash theme={null}
$ clickhouse-odbc-bridge --http-port 9018 --daemon

$ curl -d "query=SELECT PageID, ImpID, AdType FROM Keys ORDER BY PageID, ImpID" --data-urlencode "connection_string=DSN=ClickHouse;DATABASE=stat" --data-urlencode "sample_block=columns format version: 1
3 columns:
\`PageID\` String
\`ImpID\` String
\`AdType\` String
"  "http://localhost:9018/" > result.txt

$ cat result.txt
12246623837185725195925621517
```
