首页 > 解决方案 > 从 JetBrains JDBC 驱动程序执行 Drill 查询时引用错误

问题描述

我在 JetBrans(Rider 2019.2)中有一个自定义数据源驱动程序,它使用 apache-drill-1.17.jar JDBC 驱动程序(官方)。

使用驱动程序会导致此错误:

SELECT * FROM dfs.my_parquets."Test" limit 10;
--
PARSE ERROR: Lexical error at line 1, column 19. Encountered: "`" (96), after : ""  
SQL Query: ALTER SESSION SET `exec.query.max_rows`=501 

从错误中可以明显看出,Rider 尝试使用反引号标识符执行此隐藏查询:

ALTER SESSION SET `exec.query.max_rows`=501

问题是quoting_identifiers目标钻头没有设置为`(反引号),而是设置为"(双引号)。

作为连接字符串,我正在使用它:jdbc:drill:drillbit=my-drill-instance;quoting_identifiers='"'

有没有办法告诉驱动程序在隐藏查询中使用双引号?

标签: jdbcjetbrains-ideapache-drillintellij-datagrip

解决方案


手动显示,该选项应不带引号传递:

jdbc:drill:zk=local;quoting_identifiers=[

jdbc:drill:drillbit=my-drill-instance;quoting_identifiers="


推荐阅读