Este controlador se encuentra en desarrollo activo. Es posible que algunas funcionalidades de ODBC aún no estén completamente implementadas. La versión actual
se centra en proporcionar conectividad esencial y las funcionalidades básicas de ODBC, y se prevén funcionalidades adicionales para futuras
versiones.Sus comentarios son muy valiosos y ayudan a orientar la priorización de nuevas funcionalidades y mejoras. Si detecta
limitaciones, funcionalidades ausentes o comportamientos inesperados, comparta sus observaciones o solicitudes de funcionalidades mediante
el gestor de issues en
https://github.com/ClickHouse/clickhouse-odbc/issues
Instalación en Windows
Pruebas
$reader.GetValue(0), debería mostrarse la versión del servidor de ClickHouse.
Parámetros de configuración
Url: Especifica el endpoint HTTP(S) completo del servidor de ClickHouse. Incluye el protocolo, el host, el puerto y una ruta opcional.Username: El nombre de usuario utilizado para autenticarse 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 utilizará 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. Resulta útil para el tracing o para distinguir el tráfico de distintas aplicaciones. Este parámetro formará parte del encabezado User-Agent de las solicitudes HTTP generadas por el controlador.Compression: Activa o desactiva la compresión HTTP para las cargas útiles de las solicitudes y respuestas. Cuando está activada, puede reducir el uso de ancho de banda y mejorar el rendimiento en conjuntos de resultados grandes.SqlCompatibilitySettings: Activa ajustes de consulta que hacen que ClickHouse se comporte más como una base de datos relacional tradicional. Esto resulta útil cuando herramientas de terceros, como Power BI, generan consultas automáticamente. Estas herramientas normalmente no conocen determinados comportamientos específicos de ClickHouse y pueden generar consultas que producen errores o resultados inesperados. Consulte Ajustes de ClickHouse utilizados por el parámetro de configuración SqlCompatibilitySettings para obtener más información.
- Un servidor de ClickHouse instalado localmente en una instancia de WSL
- Una instancia de ClickHouse Cloud.
Integración con Microsoft Power BI
- Conector ClickHouse (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.
- Conector ODBC Solo admite el modo Importar. Power BI ejecuta la consulta proporcionada por el usuario (o selecciona la tabla completa) e importa el conjunto de resultados completo a Power BI. Las actualizaciones posteriores vuelven a importar todo el conjunto de datos.
Configuración de compatibilidad con SQL
SqlCompatibilitySettings, que permite aplicar ajustes de consulta específicos a las
consultas para que el comportamiento de ClickHouse se ajuste más al SQL estándar.
Ajustes de ClickHouse habilitados por el parámetro de configuración SqlCompatibilitySettings
value admite valores NULL, esta consulta fallará con el mensaje:
cast_keep_nullable cambia el comportamiento de CAST para que conserve la nulabilidad de sus argumentos. Esto
acerca el comportamiento de ClickHouse 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
repeticiones y es más fácil de escribir:
SELECT,
por lo que dichas consultas generarían un error. Los problemas son más evidentes cuando un alias tiene el mismo nombre que una columna. Por ejemplo:
value debería agregar avg(value)? De forma predeterminada, ClickHouse prefiere el alias, lo que convierte esto, en la práctica, en una
agregación anidada, algo que la mayoría de las herramientas no espera.
Por sí solo, esto rara vez representa 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 mantener un comportamiento similar en ClickHouse y permitir que estas consultas se ejecuten sin errores, el controlador ODBC
habilita prefer_column_name_to_alias.
En la mayoría de los casos, habilitar esta configuración no debería suponer ningún problema. Sin embargo, los usuarios con readonly establecido en 1
no pueden modificar ninguna configuración, ni siquiera para consultas SELECT. Para estos usuarios, habilitar SqlCompatibilitySettings provocará
un error. La siguiente sección 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
el ajuste readonly establecido en 1 recibirá un error porque el controlador intenta modificar ajustes de 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 y mantener al usuario en modo de solo lectura.
readonly en 2 es la forma más sencilla y recomendada de resolver este problema. Si
no le funciona, utilice la segunda opción.
Opción 2. Cambiar la configuración del usuario para que coincida con la establecida por el controlador ODBC.
Esto también es sencillo: actualice la configuración del usuario para que coincida con lo que el controlador ODBC intenta establecer.