Clickhouse 批量执行不插入新行

问题描述

我刚刚在本地安装了一个 clickhouse 服务器,带有包 clickhouse-server linux 包。 我创建了一些 java 代码来在表中插入 N 行,它通过 JDBC 运行良好。 但是为了提高性能,我现在使用批处理而不是单独的插入来实现它,但是下面的代码不起作用并且 executeBatch 函数返回一个长度为 0 的数组。

出于测试目的,我创建了以下代码

    public static void main(String[] args) throws PulsarClientException,sqlException {

       Connection con = null;
       String connectionString = "jdbc:clickhouse://localhost:8123/bank";

        try {
            con = DriverManager.getConnection(connectionString);
        } catch (sqlException throwables) {
            throwables.printstacktrace();
     
        String query = "INSERT INTO bank.test (numero,palavra) VALUES (3,'girassol');";

        Statement stmt = con.createStatement();

        con.setAutoCommit(false);      
        try {
            stmt.addBatch(query);
            stmt.addBatch(query);
            stmt.executeBatch();

            con.commit()
        
        }catch (Exception e)
        {
            e.printstacktrace();
        }
        con.close();

    }

stmt.executeBatch(); 返回 0 个元素,并且没有向 clickhouse 服务器插入任何内容。我只是通过替换连接字符串在 Postgres 数据库上测试了相同的代码,它按预期工作。 我在 clickhouse 上缺少什么配置吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)