是否可以使用 clickhouse-jdbc 驱动程序对 clickhouse 进行批量更新?

Posted

技术标签:

【中文标题】是否可以使用 clickhouse-jdbc 驱动程序对 clickhouse 进行批量更新?【英文标题】:is it possible to do batch updates to the clickhouse using clickhouse-jdbc driver? 【发布时间】:2019-05-03 10:36:27 【问题描述】:

我正在尝试对 clickhouse 数据库中的一个表进行数据批量更新。我使用这样的驱动程序:

<dependency>
    <groupId>ru.yandex.clickhouse</groupId>
    <artifactId>clickhouse-jdbc</artifactId>
    <version>0.1.52</version>
</dependency>

问题是当我使用下一条指令更新表时:

jdbcTemplate.batchUpdate(str)

我有一个空数组作为响应,并且数据库中没有记录。也不例外。

这是否意味着驱动程序还没有准备好进行批量更新?有什么解决方法吗?

提前致谢!

【问题讨论】:

【参考方案1】:

Clickhouse jdbc 驱动支持批量更新。在纯 jdbc 代码中,这将如下所示:

try (Connection connection = dataSource.getConnection();
     PreparedStatement ps = connection.prepareStatement(query)) 

            for (Data data : datas) 
                ps.setInt(1, data.id);
                ps.addBatch();
            

            ps.executeBatch();
            connection.commit();
 catch (Exception e) 
   ....

【讨论】:

以上是关于是否可以使用 clickhouse-jdbc 驱动程序对 clickhouse 进行批量更新?的主要内容,如果未能解决你的问题,请参考以下文章

Clickhouse 数据库连接工具——DBeaver

是否可以针对 ODBC 驱动程序连接使用 SQLMAP?

是否可以在没有驱动程序的情况下使用 Selenium?

是否可以使用 CloudKit 从 iCloud 驱动器获取数据

是否可以使用 reactjs 从谷歌驱动器获取文件?

是否可以在 Ubuntu 上使用 Netezza ODBC 驱动程序?