问题描述
我想在 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 中的当前数据库