Este driver está em desenvolvimento ativo. Alguns recursos do ODBC talvez ainda não estejam totalmente implementados. A versão atual
concentra-se em fornecer conectividade essencial e as principais funcionalidades do ODBC, com recursos adicionais planejados para
lançamentos futuros.Seu feedback é muito valioso e ajuda a orientar a priorização de novos recursos e melhorias. Se encontrar limitações,
funcionalidades ausentes ou comportamentos inesperados, compartilhe suas observações ou solicitações de recursos por meio do
rastreador de issues em
https://github.com/ClickHouse/clickhouse-odbc/issues
Instalação no Windows
Teste
$reader.GetValue(0), a versão do servidor ClickHouse deverá ser exibida.
Parâmetros de configuração
Url: Especifica o endpoint HTTP(S) completo do servidor ClickHouse. Isso inclui o protocolo, host, porta e caminho opcional.Username: O nome de usuário usado para autenticação no servidor ClickHouse.Password: A senha associada ao nome de usuário especificado. Se não for fornecida, o driver se conecta sem autenticação por senha.Database: O banco de dados padrão a ser usado na conexão.Timeout: O tempo máximo (em segundos) que o driver aguarda uma resposta do servidor antes de cancelar a solicitação.ClientName: Um identificador personalizado enviado ao servidor ClickHouse como parte dos metadados do cliente. Útil para rastrear ou distinguir o tráfego de diferentes aplicações. Esse parâmetro fará parte do cabeçalho User-Agent nas solicitações HTTP geradas pelo driver.Compression: Habilita ou desabilita a compressão HTTP para os payloads de solicitações e respostas. Quando habilitada, ela pode reduzir o uso de largura de banda e melhorar o desempenho de grandes conjuntos de resultados.SqlCompatibilitySettings: Habilita configurações de consulta que fazem o ClickHouse se comportar mais como um banco de dados relacional tradicional. Isso é útil quando as consultas são geradas automaticamente por ferramentas de terceiros, por exemplo, o Power BI. Essas ferramentas geralmente não reconhecem determinados comportamentos específicos do ClickHouse e podem gerar consultas que resultam em erros ou resultados inesperados. Consulte Configurações do ClickHouse usadas pelo parâmetro de configuração SqlCompatibilitySettings para mais detalhes.
- Um servidor ClickHouse instalado localmente em uma instância do WSL
- Uma instância do ClickHouse Cloud.
Integração com o Microsoft Power BI
- Conector ClickHouse (recomendado) Usa ODBC internamente, mas oferece suporte ao modo DirectQuery. Nesse modo, o Power BI gera automaticamente consultas SQL e recupera apenas os dados necessários para cada visualização ou operação de filtragem.
- Conector ODBC Oferece suporte apenas ao modo Importar. O Power BI executa a consulta fornecida pelo usuário (ou seleciona a tabela inteira) e importa o conjunto completo de resultados para o Power BI. As atualizações subsequentes reimportam todo o conjunto de dados.
Configurações de compatibilidade com SQL
SqlCompatibilitySettings, que habilita configurações específicas de consulta
para aproximar o comportamento do ClickHouse ao SQL padrão.
Configurações do ClickHouse habilitadas pelo parâmetro de configuração SqlCompatibilitySettings
value aceita valores nulos, esta consulta falhará com a mensagem:
cast_keep_nullable altera o comportamento de CAST para preservar a anulabilidade dos argumentos. Isso
aproxima o comportamento do ClickHouse ao de outros bancos de dados e ao padrão SQL para esse tipo de conversão.
prefer_column_name_to_alias
O ClickHouse permite referenciar expressões na mesma lista SELECT pelos respectivos aliases. Por exemplo, esta consulta evita
repetições e é mais fácil de escrever:
SELECT,
e essas consultas gerariam um erro. Os problemas são mais evidentes quando um alias tem o mesmo nome de uma coluna. Por exemplo:
value a função avg(value) deve agregar? Por padrão, o ClickHouse dá preferência ao alias, transformando isso, na prática, em um
agregado aninhado, o que não é o esperado pela maioria das ferramentas.
Por si só, isso raramente é um problema, mas algumas ferramentas de BI geram consultas com subconsultas que reutilizam aliases de coluna. Por
exemplo, o Power BI geralmente gera consultas semelhantes à seguinte:
C1 podem gerar o seguinte erro:
C1 como uma coluna da
subconsulta. Para preservar um comportamento semelhante no ClickHouse e permitir que essas consultas sejam executadas sem erros, o driver ODBC
habilita prefer_column_name_to_alias.
Na maioria dos casos, habilitar essas configurações não deve ser um problema. No entanto, usuários com a configuração readonly definida como 1
não podem alterar nenhuma configuração, nem mesmo em consultas SELECT. Para esses usuários, habilitar SqlCompatibilitySettings resultará
em um erro. A seção a seguir explica como fazer esse parâmetro de configuração funcionar para usuários com acesso somente leitura.
Como usar configurações de compatibilidade com SQL para usuários somente leitura
SqlCompatibilitySettings habilitado, um usuário com
a configuração readonly definida como 1 receberá um erro porque o driver tenta modificar as configurações da consulta:
SELECT individuais.
Há várias maneiras de resolver esse problema.
Opção 1. Definir readonly como 2
Esta é a opção mais simples. Definir readonly como 2 permite alterar configurações e manter o usuário no modo somente leitura.
readonly como 2 é a forma mais fácil e recomendada de resolver esse problema. Se
isso não funcionar, use a segunda opção.
Opção 2. Alterar a configuração do usuário para corresponder às configurações definidas pelo driver ODBC.
Isso também é simples: atualize a configuração do usuário para que ela já corresponda ao que o driver ODBC tenta definir.