Este controlador está en desarrollo activo. Es posible que algunas funcionalidades de ODBC todavía no estén implementadas por completo. La versión actual
se centra en proporcionar conectividad esencial y la funcionalidad principal de ODBC, con funciones adicionales previstas para futuras
versiones.Sus comentarios son muy valiosos y ayudan a orientar la priorización de nuevas funciones y mejoras. Si encuentra
limitaciones, funcionalidades que faltan o comportamientos inesperados, comparta sus observaciones o solicitudes de nuevas funciones a través
del rastreador de incidencias en
https://github.com/ClickHouse/clickhouse-odbc/issues
Instalación en Windows
Pruebas
$reader.GetValue(0), debería mostrarse la versión de su servidor de ClickHouse.
Parámetros de configuración
Url: Especifica el endpoint HTTP(S) completo del servidor de ClickHouse. Esto incluye el protocolo, el host, el puerto y la ruta opcional.Username: El nombre de usuario utilizado para la autenticación con el servidor de ClickHouse.Password: La contraseña asociada al nombre de usuario especificado. Si no se proporciona, el controlador se conecta sin autenticación mediante contraseña.Database: La base de datos predeterminada que se usará para la conexión.Timeout: El tiempo máximo (en segundos) que el controlador espera una respuesta del servidor antes de cancelar la solicitud.ClientName: Un identificador personalizado que se envía al servidor de ClickHouse como parte de los metadatos del cliente. Es útil para la trazabilidad o para distinguir el tráfico de distintas aplicaciones. Este parámetro formará parte del encabezado User-Agent en las solicitudes HTTP generadas por el controlador.Compression: Habilita o deshabilita la compresión HTTP para las cargas útiles de solicitud y respuesta. Cuando está habilitada, puede reducir el uso de ancho de banda y mejorar el rendimiento en conjuntos de resultados grandes.SqlCompatibilitySettings: Habilita ajustes de consulta que hacen que ClickHouse se comporte más como una base de datos relacional tradicional. Esto resulta útil cuando las consultas las generan automáticamente herramientas de terceros, por ejemplo, Power BI. Estas herramientas normalmente no tienen en cuenta ciertos comportamientos específicos de ClickHouse y pueden generar consultas que den lugar a errores o resultados inesperados. Consulte ajustes de ClickHouse usados por el parámetro de configuración SqlCompatibilitySettings para obtener más detalles.
- Un servidor de ClickHouse instalado localmente en una instancia de WSL
- Una instancia de ClickHouse Cloud.
Integración con Microsoft Power BI
- ClickHouse Connector (recomendado) Usa ODBC internamente, pero admite el modo DirectQuery. En este modo, Power BI genera automáticamente consultas SQL y recupera solo los datos necesarios para cada visualización u operación de filtrado.
- ODBC Connector Admite solo el modo Import. Power BI ejecuta la consulta proporcionada por el usuario (o selecciona la tabla completa) e importa el conjunto de resultados completo en Power BI. Las actualizaciones posteriores vuelven a importar el conjunto de datos completo.
Configuración de compatibilidad con SQL
SqlCompatibilitySettings, que habilita opciones específicas de consulta
para que el comportamiento de ClickHouse se ajuste más al SQL estándar.
Ajustes de ClickHouse habilitadas por el parámetro de configuración SqlCompatibilitySettings
value es Nullable, esta consulta fallará con el mensaje:
cast_keep_nullable cambia el comportamiento de CAST para que preserve la nulabilidad de sus argumentos. Esto
hace que el comportamiento de ClickHouse se acerque más al de otras bases de datos y al estándar SQL para este tipo de conversión.
prefer_column_name_to_alias
ClickHouse permite hacer referencia a expresiones de la misma lista SELECT mediante sus alias. Por ejemplo, esta consulta evita
la repetición y es más fácil de escribir:
SELECT,
y esas consultas darían un error. Los problemas se hacen más evidentes cuando un alias tiene el mismo nombre que una columna. Por ejemplo:
value debe agregar avg(value)? De forma predeterminada, ClickHouse prefiere el alias, lo que efectivamente convierte esto en una
agregación anidada, que no es lo que esperan la mayoría de las herramientas.
Por sí solo, esto rara vez supone un problema, pero algunas herramientas de BI generan consultas con subconsultas que reutilizan alias de columnas. Por
ejemplo, Power BI suele generar consultas similares a la siguiente:
C1 pueden generar el siguiente error:
C1 como una columna de la
subconsulta. Para preservar un comportamiento similar en ClickHouse y permitir que esas consultas se ejecuten sin errores, el controlador ODBC
habilita prefer_column_name_to_alias.
En la mayoría de los casos, habilitar estas opciones no debería ser un problema. Sin embargo, los usuarios con la configuración readonly establecida en 1
no pueden cambiar ninguna opción, ni siquiera para las consultas SELECT. Para esos usuarios, habilitar SqlCompatibilitySettings provocará
un error. En la siguiente sección se explica cómo hacer que este parámetro de configuración funcione para usuarios de solo lectura.
Hacer que la configuración de compatibilidad con SQL funcione para usuarios de solo lectura
SqlCompatibilitySettings habilitado, un usuario con
la configuración readonly establecida en 1 verá un error porque el controlador intenta modificar la configuración de la consulta:
SELECT individuales.
Hay varias formas de solucionarlo.
Opción 1. Establecer readonly en 2
Esta es la opción más sencilla. Establecer readonly en 2 permite cambiar la configuración sin sacar al usuario del modo de solo lectura.
readonly en 2 es la forma más fácil y recomendada de resolver este problema. Si
esto no te funciona, usa la segunda opción.
Opción 2. Cambiar la configuración del usuario para que coincida con la que establece el controlador ODBC.
Esto también es sencillo: actualiza la configuración del usuario para que coincida de antemano con la que el controlador ODBC intenta establecer.