微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法通过 clickhouse jdbc 切换数据库

如何解决无法通过 clickhouse jdbc 切换数据库

我想在 clickhouse jdbc 中切换数据库,但失败并出现以下错误。 clickhouse jdbc 不支持切换数据库吗?

USE DATABASE test_db
ClickHouse exception,code: 62,host: 192.168.0.4,port: 8123; Code: 62,e.displayText() = DB::Exception: Syntax error: Failed at position 5 ('DATABASE'): DATABASE test_db. Expected identifier (version 20.8.12.2)

解决方法

查看 USE 语句信息。

USE test_db

这不适用于 HTTP - 请参阅文档:

使用HTTP协议时无法进行此查询,因为有 没有会话的概念。

使用 HTTP 时按照这种方式定义 default database

echo 'SELECT number FROM numbers LIMIT 10' /
  | curl 'http://localhost:8123/?database=system' --data-binary @-

看起来需要在clickhouse-jdbc-driver的连接字符串中定义数据库:

jdbc:clickhouse://<host>:<port>[/<database>]
,

您可以使用 setCatalog 方法更改 JDBC 中的当前数据库

https://github.com/ClickHouse/clickhouse-jdbc/blob/master/clickhouse-jdbc/src/main/java/ru/yandex/clickhouse/ClickHouseConnectionImpl.java#L267

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。