> ## 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.

> Odbc Bridge 문서

# clickhouse-odbc-bridge

ODBC 드라이버용 프록시처럼 동작하는 단순한 HTTP 서버입니다. 주된 이유는
ODBC 구현에서 발생할 수 있는 segfault 또는 기타 오류로 인해
clickhouse-server 프로세스 전체가 중단될 수 있기 때문입니다.

이 도구는 HTTP를 통해 동작하며, 파이프, 공유 메모리 또는 TCP를 사용하지 않습니다. 이유는 다음과 같습니다:

* 구현이 더 단순합니다
* 디버깅이 더 쉽습니다
* jdbc-bridge도 같은 방식으로 구현할 수 있습니다

<div id="usage">
  ## 사용법
</div>

`clickhouse-server`는 ODBC 테이블 함수와 StorageODBC에서 이 도구를 사용합니다.
하지만 다음
매개변수가 포함된 POST 요청 URL을 사용해 명령줄에서 독립 실행형 도구로 사용할 수도 있습니다.

* `connection_string` -- ODBC 연결 문자열.
* `sample_block` -- ClickHouse NamesAndTypesList 포맷의 컬럼 설명입니다. 이름은 백틱으로 감싸고,
  타입은 문자열로 지정합니다. 이름과 타입은 공백으로 구분하며, 각 행은
  줄바꿈으로 구분합니다.
* `max_block_size` -- 선택적 매개변수이며, 단일 블록의 최대 크기를 설정합니다.
  쿼리는 POST 본문으로 전송됩니다. 응답은 RowBinary 포맷으로 반환됩니다.

<div id="example">
  ## 예시:
</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
```
