DataGrip 只执行前 19 行 SQL 查询

Posted

技术标签:

【中文标题】DataGrip 只执行前 19 行 SQL 查询【英文标题】:DataGrip only executing first 19 lines of SQL query 【发布时间】:2020-09-10 19:46:24 【问题描述】:

我正在尝试在附加的 BigQuery 控制台中的 DataGrip 中执行 236 行查询。当我选择要运行的整个脚本时,它总是只执行到第 19 行。因此,我收到此错误

[HY000][100032] [Simba][BigQueryJDBCDriver](100032) Error executing query job. Message: Syntax error: Unexpected end of script at [19:49] com.simba.googlebigquery.support.exceptions.GeneralException: [Simba][BigQueryJDBCDriver](100032) Error executing query job. Message: Syntax error: Unexpected end of script at [19:49]

我也尝试将它作为 SQL 文件运行,但这导致了同样的错误。我知道这个查询是有效的,因为当我直接在 Google Cloud 查询编辑器中运行它时,它会返回所需的结果。有没有其他人遇到过这个问题,有解决办法吗?

【问题讨论】:

在我看来,您的查询以某种方式被截断为 19 行。不过,我对 DataGrip 并不熟悉。您能否在开始时添加大量 cmets,使整个查询只有 1 个有效行,并查看是否添加了足够多的 cmets,您会收到类似“空查询”之类的错误吗? @koko 你能附上一个样本来重现这个问题吗?如果您无法公开分享查询,您可以在 DataGrip bug tracker 中创建私人问题 @VasiliChernov 今天搞砸了更多之后,结果发现问题是为查询选择了错误的 SQL 方言!我把它当作标准 SQL,但它必须是 BigQuery。 @koko,是的,它会极大地影响解析。 【参考方案1】:

我们最近推出了 BigQuery 方言,更新后它不适用于您之前创建的数据源,因为此数据源是使用自定义驱动程序创建的,默认为“通用”方言。需要更改驱动选项中的方言,然后您将拥有正确的所有相关控制台和数据源。

【讨论】:

以上是关于DataGrip 只执行前 19 行 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Server 中,如何选择前 4 行?

如何找出 datagrip 中的 ORA-00900 无效 SQL 语句

DATAGRIP SQL 编辑器在执行后不会删除语句

从输出窗格 Datagrip 中删除 SQL 语句

在 DataGrip 中谨慎运行 write sql 查询

如何通过 DataGrip 每 100 行创建一个 sql 插入语句