Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

clickhouse-odbc-bridge

Servidor HTTP sencillo que actúa como proxy para el controlador ODBC. La principal motivación eran los posibles fallos de segmentación u otros errores en las implementaciones de ODBC, que pueden hacer que se caiga todo el proceso de clickhouse-server.

Esta herramienta funciona mediante HTTP, no mediante pipes, memoria compartida ni TCP, porque:

  • Es más sencilla de implementar
  • Es más sencilla de depurar
  • jdbc-bridge puede implementarse de la misma forma

Uso

clickhouse-server usa esta herramienta dentro de la función de tabla odbc y de StorageODBC. Sin embargo, puede usarse como herramienta independiente desde la línea de comandos con los siguientes parámetros en la URL de la solicitud POST:

  • connection_string – cadena de conexión ODBC.
  • sample_block – descripción de columnas en el formato ClickHouse NamesAndTypesList, con el nombre entre acentos graves y el tipo como cadena. El nombre y el tipo están separados por un espacio; las filas, por saltos de línea.
  • max_block_size – parámetro opcional que establece el tamaño máximo de un solo bloque. La consulta se envía en el cuerpo de la solicitud POST. La respuesta se devuelve en formato RowBinary.

Ejemplo:

$ 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
Navigation